1. 宿主机与容器之间的文件拷贝
docker container cp 拷贝谁 到哪里 --涉及到容器时要注意格式: name:路径; 如 ....cp 容器名:/data/file ./file
1 启动挂载数据卷
[root@docker httpd]# docker run -d -p 8083:80 --name "http8083" -v /opt/Volume/httpd:/usr/local/apache2/htdocs httpd 733eefea35456e47e71775b502e0376aff24b55612fe3030c8690d22870e8f29 [root@docker httpd]# docker run -d -p 8084:80 --name "http8084" -v /opt/Volume/httpd:/usr/local/apache2/htdocs httpd 47d3059e9aa8af3322665815748c065ba6ad26d6f81fa60b61261873889deb40 [root@docker httpd]# curl 10.0.0.110:8083 test volume [root@docker httpd]# curl 10.0.0.110:8084 test volume
# 启动容器时使用-v参数来指定宿主机和容器目录的对应关系; -v 宿主机目录:容器目录
# 挂载后修改宿主机对应目录中内容会时时映射到容器目录的.
# 查看容器挂载卷的信息依然可以使用docker container inspect name来查看
2 数据卷容器
需求: 需要生成多个容器, 挂载宿主机的同一个目录到容器中的相同路径下, 可以挨个在生成时使用-v指定, 那如果有成千上万个容器需求呢? 此时我们就需要使用数据卷容器来解决了.
# 先生成数据卷容器
docker run -it --name "httpd_volumes" -v /opt/Volume/httpd_volume/conf:/usr/local/apache2/conf -v /opt/Volume/httpd_volume/html:/usr/local/apache2/htdocs centos:6.9 /bin/bash ctrl p q # 因为上面使用的是-it命令, 交互式生成的容器. 在容器中使用ctrl + p +q 可把该容器丢到后台运行, 而不至于在退出时容器被销毁.
# 使用数据卷容器 docker run -d -p 8085:80 --volumes-from httpd_volumes --name "http8085" httpd docker run -d -p 8086:80 --volumes-from httpd_volumes --name "http8086" httpd
补充: 使用--volumes-from参数来指定数据卷容器
66