https://c.163yun.com/hub#/m/home/ 网易蜂巢公共镜像中心
查看8080端口的监听状态
- netstat -na|grep 8080
查看所有的端口状态
- netstat -lntup
启动容器
- docker run -d -p 8080:80 hub.c.163.com/library/nginx
- 网络映射(将外网8080映射到docker80端口)
- 8080:80
- 注意:从丛刻就生成容器,同时会生成ID 使用docker ps 可以查看
复制一个index页面到容器中
- docker cp index.html 4d34b760d7a3://usr/share/nginx/html
- 测试:curl http://localhost:8080
停止dokcer
- docker stop 4d34b760d7a3(容器ID)
重新打开不会进入原来的heml页面,而是一个新的nginx欢迎页,因为docker里面的操作都是暂时的
- docker run -p 8080:80 -d hub.c.163.com/library/nginx
- docker cp index.html 967e4c090417://usr/share/nginx/html/
- 产生一个镜像nginx-fun
- docker commit -m 'fun' 967e4c090417 nginx-fun
删除镜像
- docker rmi f4fb6b2a2765(images id)
删除容器
- docker stop id
- docker ps -a
- docker rm id
命令小结:
- docker pull 获取image
- docker build 创建image
- docker images 列出images
- docker run 运行container
- docker ps 列出container
- docker rm 删除container
- docker rmi 删除image
- docker cp 在host和container之间拷贝文件
- docker commit 保存改动为新的image(创建新的image 不推荐,一般使用dockerfile)
编写简单dockerfile
- touch Dockerfile
- vim Dockerfile
- 写入:
- FROM alpine:latest
- MAINTAINER xiaoke
- CMD echo "hello Docker!"
- docker build -t hello_docker .
- docker run hello_docker
编写简单dockerfile2
- touch Dockerfile
- vim Dockerfile
- 写入:
- FROM ubuntu
- MAINTAINER xbf
- RUN sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
- RUN apt-get update
- RUN apt-get install -y nginx
- COPY index.html /var/www/html
- ENTRYPOINT ["/usr/sbin/nginx", "-g", "daemon off;"]
- EXPOSE 80
- docker build -t xbf/hello-nginx .
- docker run -d -p 80:80 xbf/hello-nginx
- curl http://localhost(测试)
命令小结:
- FROM 基础镜像
- RUN 执行命令
- ADD 添加文件
- COPY 拷贝文件
- CMD 执行命令
- EXPOSE暴露端口
volume持久化
- docker run -d --name nginx -v /usr/share/nginx/html nginx
- 检查
- docker inspect nginx
- 获取:Mounts》Source
- cd 进入到宿主机的nginx地址
- cat index.html 查看index 并修改 echo "123456789" index.html
- 进入到容器
进入的容器中的nginx位置
cd /usr/share/nginx/html/
cat index.html 查看index 和在宿主机上修改的一样
结论:linux机器上修改,docker容器就修改了 - docker exec -it nginx /bin/bash
复制宿主机上当前目录的html到容器的指定位置
- docker run -p 80:80 -d -v $PWD/html:/usr/share/nginx/html nginx (会生成新的容器名字,需要重新进入的容器中查看存放文件的内容)
- -v $PWD/html 当前目录html里面的文件
- curl http://localhost 测试