实验设计
以nginx为例(需都安装nginx),在宿主机开启nginx服务,另外开三个docker容器,第一个容器-v挂载nginx首页内容目录index.html,第二,三个容器使用--volumes-from 进行数据共享(只会共享第一个容器与宿主机挂载的数据内容)
一:宿主机开启nginx,第一台docker使用-v挂载,其他用volume数据共享
命令:
宿主机:/usr/local/nginx/sbin/nginx
第一台容器:docker run -itd --name nginx1 -p 8080:80 -v /usr/local/nginx/html:/usr/local/nginx/html mycentos:nginx /usr/local/nginx/sbin/nginx -g "daemon off;"
第二台容器:docker run -itd --name nginx2 -p 8081:80 --volumes-from nginx1 mycentos:nginx /usr/local/nginx/sbin/nginx -g "daemon off;"
第三台容器:docker run -itd --name nginx3 -p 8082:80 --volumes-from nginx1 mycentos:nginx /usr/local/nginx/sbin/nginx -g "daemon off;"
二:修改宿主机index.html文件内容,容器网址内容所有都发生改变
docker inspect里可以查看挂载情况:
三:在dockerfile里进行挂载
dockerfile内容:
FROM mycentos:nginx
volume ["/usr/local"]
运行之后会直接把容器里的/usr/local挂载到宿主机里,可以通过docker inspect 容器id 进行查看Mounts具体路径