docker 集群中文件挂载的问题
假如說在一個三節點的集群上執行
?
docker service create --replicas 2?-p 80:80 --name nginx nginx:1.13.7-alpine
然后訪問三個節點的任意一個ip都會看到nginx的歡迎界面。nginx的默認index.html路徑在/usr/share/nginx/html/index.html
假如說現在要進行文件掛載,也就是文件路徑映射。注意幾個問題:
執行:
docker service create --replicas 2 -p 80:80 --name nginx --mount type=bind,src=/tmp/index.html,dst=/usr/share/nginx/html/index.html nginx:1.13.7-alpine
然后分別找到這兩個容器都是在哪個節點上啟動的。
docker ps
找到后,分別登陸到這兩個機器上,執行:
echo '<h1>Hello, Dockerxxx!</h1>' > /tmp/index.html
和
echo '<h1>Hello, Dockerbbbbbbbbbbb!</h1>' > /tmp/index.html
在三個節點上看到的結果是
?
結果并不是固定的,如果清空緩存的話,在刷新同一個ip是可能有不容結果的,至于是什么結果要看集群負載均衡的時候分配的是哪個容器給你,展示的結果就是當前分配容器所在的node上的/tmp/index.html目錄里面的內容,比如下面,用微信打開192.168.0.102和瀏覽器打開并不一樣
?
?
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的docker 集群中文件挂载的问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Docker 修改运行中的容器端口映射
- 下一篇: etcd常用命令