首先创建一个nginx容器
docker run -d --name="n1" -p 80:80 nginx
docker container exec -it n1 /bin/bash
网页一般都会在 cd /usr/share/nginx/html/
在本地写个文件,手工拷贝
vim index.html
将文件上传docker
docker container cp index.html n1:/usr/share/nginx/html
拷贝下来文件
docker container cp n1:/usr/share/nginx/html/index.html ./
这样太麻烦了
数据卷的方式 数据持久化
volume 实现宿主机和容器的数据共享
mkdir -p /opt/html
cp /root/index.html /opt/html/
要在容器的启动的时候
docker run -d --name="n2" -p 81:80 -v /opt/html:/usr/share/nginx/html nginx
列子:开启两个nginx容器(90,91),共同挂载一个数据卷,实现静态资源
docker container run -d -p 90:80 --name="nginx_v1" -v /opt/html:/usr/share/nginx/html nginx
docker container run -d -p 91:80 --name="nginx_v2" -v /opt/html:/usr/share/nginx/html nginx
访问90 91 都是同一个网页
查看容器挂载路径
docker container inspect nginx_v1
"Mounts": [
{
"Type": "bind",
"Source": "/opt/html",
"Destination": "/usr/share/nginx/html",
"Mode": "",
"RW": true,
"Propagation": "rprivate"
}
],
数据卷容器
创建数据目录
mkdir -p /opt/volume/a
mkdir -p /opt/volume/b
touch /opt/volume/a/a.txt
touch /opt/volume/b/b.txt
启动数据卷容器
docker run -it --name "nginx_volumes" -v /opt/volume/a:/opt/a -v /opt/volume/b:/opt/b centos:6.9 /bin/bash
ctrl p q
使用数据卷容器
docker run -d -p 8085:80 --volumes-from nginx_volumes --name "n8085" nginx
docker run -d -p 8086:80 --volumes-from nginx_volumes --name "n8086" nginx
作用,在集中管理集群中,大批量的容器都需要挂载相同的多个数据卷时,可以采用数据卷容器进行统一管理