docker以掛載卷方式搭建nginx

2021-10-01 20:32:46 字數 1877 閱讀 6996

docker search ngnix

選擇自己想要的版本(這裡選擇nginx:1.10)

docker pull nginx

找到nginx的nginx.conf和日誌檔案,以及html(nginx預設靜態資源存放資料夾)存放位置

本地構建這些檔案並將其掛載進docker中,方便以後修改,也方便資料遷移

nginx.conf檔案位置     /etc/nginx/nginx.conf

日誌檔案位置  /var/log/nginx/

html檔案位置 /usr/share/nginx/html

本地構建檔案位置

mkdir -p nginx/

將nginx容器中的/etc/nginx/conf.d/default.conf拷貝出來乙份

server 

#error_page 404 /404.html;

# redirect server error pages to the static page /50x.html

#error_page 500 502 503 504 /50x.html;

location = /50x.html

# proxy the php scripts to apache listening on 127.0.0.1:80

##location ~ \.php$

# pass the php scripts to fastcgi server listening on 127.0.0.1:9000

##location ~ \.php$

# deny access to .htaccess files, if apache's document root

# concurs with nginx's one

##location ~ /\.ht

}

nginx.conf內容

本地nginx.conf根據需要配置示例

docker run -it -p 7000:80 -v /nginx/nginx.conf:/etc/nginx/nginx.conf -v /nginx/logs/:/var/log/nginx/ -v /nginx/html/:/usr/share/nginx/html/ --privileged=true --name=nginx -d 《映象id>如果啟動失敗

docker logs 《容器id> 自行分析錯誤

如果配置檔案發生改變,則docker restart 《容器id>即可

使用掛載卷如果換乙個容器,同樣掛載進去即可,資料不會丟失

推薦使用這種方式

主機掛載儲存 docker資料卷(資料掛載)

docker的映象是由多個唯讀的檔案系統疊加在一起形成的。當我們在我啟動乙個容器的時候,docker會載入這些唯讀層並在這些唯讀層的上面 棧頂 增加乙個讀寫層。這時如果修改正在執行的容器中已有的檔案,那麼這個檔案將會從唯讀層複製到讀寫層。該檔案的唯讀版本還在,只是被上面讀寫層的該檔案的副本隱藏。當刪...

(九) Docker 容器資料卷 掛載

一 容器資料卷 docker 容器資料卷是容器在執行過程中持久化資料的一種方式,卷是目錄或檔案,存在於乙個或多個容器中,由docker 掛載到容器,但不屬於聯合檔案系統,因此能夠繞過union file system 提供一些用於持續儲存或共享資料的特性 卷的設計目的就是資料持久化,完全獨立於容器的...

Docker資料卷之具名掛載和匿名掛載

1 啟動容器 docker run d p name nginx01 v etc nginx nginx v 容器內路徑 2 檢視所有卷的情況 注 由上圖可以看到,volume name 有的是隨機生成的字串,對於這種就是匿名掛載,因為 v的時候只寫了容器內的路徑看,而沒有寫容器外的路徑 1 啟動容...