对已经启动的容器添加目录映射(挂载目录)是一项常见的操作。Docker 提供了docker container update
命令来实现这个功能。以下是具体的步骤:
- 查看容器ID
使用docker ps
命令可以查看已经启动的容器列表,找到需要挂载目录的容器并记住其容器ID。例如,我们找到容器名为web的ID为52a5af67b207。
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
52a5af67b207 nginx:latest "nginx -g 'daemon of…" About a minute ago Up About a minute 80/tcp web
- 停止容器
因为要修改容器的配置,所以需要停止它。使用docker container stop
命令停止容器。示例如下:
$ docker container stop 52a5af67b207
- 添加目录映射
使用docker container update
命令添加目录映射。
$ docker container update --mount type=bind,source=/home/user/data,target=/app/data 52a5af67b207
上面的命令会将主机的/home/user/data
目录挂载到容器的/app/data
目录中。
其中,--mount
选项指定了挂载方式,type=bind
表示挂载类型是绑定挂载,source
和target
分别指定了挂载源和目的地。source
是在主机上的路径,target
是在容器中的路径。最后一个参数是指定需要更新的容器ID。
- 启动容器
使用docker container start
命令启动容器。
$ docker container start 52a5af67b207
现在容器已经添加了目录映射。可以重新进入容器查看是否已经生效。
示例1
将主机/home/user/data
目录挂载到容器nginx
容器的/usr/share/nginx/html
目录中。
$ docker container update --mount type=bind,source=/home/user/data,target=/usr/share/nginx/html nginx
示例2
将主机/home/user/data
目录中的index.html
文件挂载到容器nginx
容器的/usr/share/nginx/html
目录中。
$ docker container update --mount type=bind,source=/home/user/data/index.html,target=/usr/share/nginx/html/index.html nginx
以上示例中所使用的容器名可以被替换成容器ID。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:docker如何对已经启动的容器添加目录映射(挂载目录) - Python技术站