Docker 入门快速上手指南

2020-06-17 07:12:14易采站长站整理

指定数据卷

我们可以在创建时,将系统的某一目录指定为容器某一目录的数据卷,其中

 --volume 
可以使用
 -v 
缩写:


docker run --volume /my/mac/dir:/container/dir $mirror-name

此时,容器内部的 /container/dir 将与宿主机的 /my/mac/dir 形成映射。

当然,我们也可以将文件与文件映射起来。


docker run --volume /my/mac/file:/container/file $mirror-name

在指定数据卷时,可以省略宿主主机目录,此时 Docker 会自动指定一个主机空间用以映射:


docker run --volume /container/dir $mirror-name

此外,还可以选择只读方式,这样文件或目录的修改就只能在宿主机中进行了。只需添加 :ro 即可:


docker run --volume /my/mac/dir:/container/dir:ro $mirror-name

我们可以通过

 docker inspect $container-name
,并在
Mounts 
中看到数据卷的详细情况。

查看数据卷

我们可以通过以下指令查看数据卷的情况:


docker volume ls

当容器被删除时,主机上的数据卷并不会被删除,此时可以通过以下指令查看那些没有容器使用的数据卷,注意,这里只会显示那些由 Docker 自动指定的数据卷,即没有手动指定主机映射目录的数据卷:


docker volume ls -f dangling=true

顺便,如果需要在删除容器时一并删除数据卷,可以使用以下指令:


docker rm -v $container-name

数据卷的继承

有时我们可能需要在创建容器时,选择该容器的数据卷与之前的某容器相同,比如在面对多容器共享项目目录空间这一需求时。此时我们可以通过以下方式实现:


docker run --volumes-from $container-name $mirror-name

数据卷的删除

可以使用如下方式删除数据卷,其中 $volume-id 可以通过 docker volume ls 查看:


docker volume rm $volume-id

给已创建时的容器添加数据卷

容器一旦创建后,再添加数据卷映射会比较麻烦。

而且,这里并不建议这么做,建议的做法是将容器提交为镜像后,以此镜像再次创建容器。

Docker 端口

绑定端口

我们可以将容器的端口绑定到主机的某一端口上,已完成某些应用的需求,如将主机的 12345 端口绑定到容器的 80 端口上,这样我们对