容器Docker入门详解

2020-06-17 06:47:56易采站长站整理

# 在 /p1/p2 下执行 vim a.txt
WORKDIR /p1 WORKDIR p2 RUN vim a.txt

2.7 镜像导入导出

导出镜像到本地:


docker save -o centos6.5.tar centos6.5 或
docker export f9c99092063c >centos6.5.tar

从本地将镜像导入:


docker load --input centos6.5.tar 或
docker load < centos6.5.tar


docker rm删除已经终止的容器
docker -f rm 可以删除正在运行的容器

修改已经运行的后台容器:


docker exec -it CONTAINER ID /bin/bash

三、存储

3.1数据盘

docker的镜像使用一层一层文件组成的,docker的一些存储引擎可以处理怎么样存储这些文件。


docker inspect centos #查看容器详细信息

信息下方的Layers,就是centos的文件,这些东西都是只读的不能去修改,我们基于这个镜像去创建的镜像和容器也会共享这些文件层,而docker会在这些层上面去添加一个可读写的文件层。如果需要修改一些文件层里面的东西的话,docker会复制一份到这个可读写的文件层里面,如果删除容器的话,那么也会删除它对应的可读写的文件层的文件。

如果有些数据你想一直保存的话,比如:web服务器上面的日志,数据库管理系统里面的数据,那么我们可以把这些数据放到data volumes数据盘里面。它上面的数据,即使把容器删掉,也还是会永久保留。创建容器的时候,我们可以去指定数据盘。其实就是去指定一个特定的目录。


docker run -i -t -v /mnt --name nginx docker.io/nginx /bin/bash

-v:制定挂载到容器内的目录

使用docker inspect 容器ID可以查看挂载目录对应于宿主机的物理文件路径

同样,我们可以使用将制定物理宿主机的目录挂载到容器的制定目录下:

将宿主机目录挂载到容器内:

docker run -d -p 80:80 –name nginx -v /webdata/wordpress:/usr/share/nginx/html docker.io/sergeyzh/centos6-nginx