docker 掛載文件夾和文件

才使用docker掛載的時候,按照網上教程安轉nginx的時候容器裏本身是可以運行的
但後來我想把主機文件關聯到容器裏按照操作一直報錯

文件夾掛載
若文件夾不存在,則先創建出文件夾(若爲多層文件夾,則遞歸創建)
用host上的文件夾內容覆蓋container中的文件夾內容

文件掛載:
docker 禁止用主機上不存在的文件掛載到container中已經存在的文件
文件掛載不會對同一文件夾下的其他文件產生任何影響

使用docker安裝nginx後
默認掛載html目錄: /usr/share/nginx/html
默認conf掛載目錄: /etc/nginx/conf.d/ 和 /etc/nginx/nginx.conf

如使用官方教程掛載方式:
docker run -p 80:80 --name mynginx -v $PWD/www: /usr/share/nginx/html -v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf -v $PWD/logs:/var/log/nginx -d nginx
在linux和windows上都會有報找不到mime.types文件,其實原因很明顯我們在主機下沒有這些文件
容器中 /etc/nginx 目錄下面還有很多其他的文件,直接掛載整個目錄進去,其他的文件便會隨着目錄的掛載而消失,所以會出現找不到mime.types文件

解決方案
1.先掛載文件夾:
docker run -p 80:80 --name mynginx -v $PWD/www: /usr/share/nginx/html -v $PWD/conf:/etc/nginx -v $PWD/logs:/var/log/nginx -d nginx
然後把容器裏面的nginx.conf文件複製到主機conf目錄下載執行文件掛載

2.是把容器中 /etc/nginx 目錄中的其他內容也拷貝到要掛載的目錄裏,隨着目錄一起掛載進去

以上是個人在初期操作docker遇到的問題,和個人的一些理解

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章