docker的基本架构组成
- DOCKER_HOST
- Docker Daemon docker核心进程
- Containers docker的所有容器存放位置,相当于在装好的系统上安装的文件的数据盘,基于image的可读可写层
- Images docker的镜像文件,相当于一个组装好的系统的C盘,是只读层。
- Client 向deemon发送docker的指令让其执行
- Registry docker的远程镜像库,可以从镜像库中拉取各种镜像
相关的指令
docker images 展示当前本地的所有的images内容
docker run 启动某个容器
-p 端口映射,主机端口:容器端口
-d 是后台守护进程运行
docker cp 拷贝文件至容器中
docker stop id 停止某个容器
docker commit -m 'xxx' containId newName 将当前的contain保存为一个image
docker rm contianerId 删除某一个容器
docker rmi imageId 删除某一个镜像,注意删除镜像之前要删除基于此image的所有contain,包括停止的
Dockerfile
mkdir mdocker
cd mdocker
vim Dockerfile
vim index.html
docker build -t tagname .
docker run -d -p 80:80 --name hello tagname
curl http://localhost
dockerfile 每一行命令都是镜像的每一层
Volume 挂载点
方法一
docker run -d -p 80:80 --name nginx -v /usr/share/nginx/html nginx
docker inspect nginx
...得到该container的一些配置单,如下
其中,mount中的soucre可以得到宿主机对应的挂载位置
由于是mac,需要多一步跳转到虚拟机
screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty
然后
cd 到上述source中即可进行更改
docker exec -it nginx /bin/bash
可以进入到container中去,发现更改结果和我们在宿主机中是一致的
方法二
方法三
挂载其他容器的数据