docker-笔记
概念
你从仓库里pull的文件叫做镜像,只可读,不可写 当你执行docker run的时候,系统会创建一个容器,而他是可读可写的,所有的修改都是建立在容器层上
- 为了方便数据共享 所以形成了镜像与容器的概念 - 即使你修改了docker中的文件,被修改的也只是容器层,只读层 不会发生任何改变,所以可以镜像复用 - 当exit结束docker中的交互式shell后,容器的内容仍会保留(可以指定docker -rm 指定镜像启动的容器 来删除容器内的修改)
1
2
3 .
└── 只读层-镜像
└──可读可写层-容器
由于 union fs结构 使镜象中的层可以像动态链接库一样继承,复用
命令
拉取镜像 pull
$ docker pull ubuntu:16.04
运行镜像 run
$ docker run -it --rm ubuntu:16.04 bash $ docker run --name webserver -d -p 80:80 nginx
1 | 相关参数: |
列出镜像 image ls $ docker image ls
删除虚悬镜像 image prune $ docker image prune
中间层镜像 image ls -a $ docker image ls -a
删除本地镜像 image rm $ docker image rm [选项] <镜像1> $ docker image rm 501(根据id删除镜像文件,一般取前三位)
进入容器 exec $ docker exec -it webserver bash
查看后台容器 container ls $ docker container ls
查看所有容器 container ls -a $ docker container ls -a
附加到后台容器 attatch $ docker attatch [container id]
容器保存为镜像的命令 commit docker commit [选项] <容器ID或容器名> [<仓库名>[:<标签>]]
docker network 查看docker的网络信息
docker port 查看端口
docker logs -f 跟踪查看容器日志
自定义docker0网桥信息
1 | /etc/docker/daemon.json |
docker run --network 参数
1 | container:容器名 //与其他容器共享网络命名空间 |
dockerfile 编写
1 | 命令: |

