詳解docker nginx 容器啟動(dòng)掛載到本地
首先nginx容器內(nèi)部的結(jié)構(gòu):
進(jìn)入容器:
docker exec -it b511b6049f57 bash
查看容器的結(jié)構(gòu)目錄:其實(shí)每一個(gè)容器就相當(dāng)于一個(gè)獨(dú)立的系統(tǒng)。
root@b511b6049f57:/# ls bin dev home lib64 mnt proc run srv tmp var boot etc lib media opt root sbin sys usr
nginx的結(jié)構(gòu)目錄在容器中:
- 日志位置:/var/log/nginx/
- 配置文件位置:/etc/nginx/
- 項(xiàng)目位置:/usr/share/nginx/html
如果你想在本地去添加location 需要把這些容器中的配置掛載到本地:
配置文件相對(duì)來說有點(diǎn)麻煩,一般nginx只需要加載nginx.conf就可以了,在dokcer中,是首先加載nginx.conf,然后在nginx.conf有這么一行include /etc/nginx/conf.d/*.conf;,就是加載conf.d目錄下的配置文件。所以對(duì)于配置只需要掛載到conf.d,覆蓋掉即可。
在本地創(chuàng)建對(duì)應(yīng)的文件夾和主配置文件nginx.conf:
mkdir -p /home/test/nginx/{log,conf,html}
touch nginx.conf
nginx.conf包含子配置文件(最后一行):
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '"$remote_addr" "$http_host" "[$time_local]" "$request" "$status" "$body_bytes_sent" '
'"$bytes_sent" "$gzip_ratio" "$http_referer" "$http_user_agent" "$http_x_forwarded_for" '
'"$upstream_addr" "$upstream_response_time" "$request_time" "$request_body" "$http_authorization" ';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf;
}
在 conf下創(chuàng)建一個(gè)默認(rèn)的default.conf:
server {
listen 80;
server_name localhost;
#charset koi8-r;
access_log /var/log/nginx/log/host.access.log main;
location / {
#root /data/nginx/html;
root /usr/share/nginx/html;
index index.html index.htm;
#autoindex on;
#try_files $uri /index/index/page.html;
#try_files $uri /index/map/page.html;
}
#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 {
root /usr/share/nginx/html;
}
location ~ /images {
default_type application/json;
return 200 '{"code": "A000000", "message": "ok", "timestamp": "20180307184426", "data": {"isvip": "1", "monthProList": []}}';
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
準(zhǔn)備完成上面的本地文件以后開始啟動(dòng)容器掛載到本地相關(guān)配置文件:
docker run --name docker_nginx -d -p 80:80 \ -v /home/test/nginx/log:/var/log/nginx \ -v /home/test/nginx/conf:/etc/nginx/conf.d \ -v /home/test/nginx/nginx.conf:/etc/nginx/nginx.conf \ -v /home/test/nginx/html:/usr/share/nginx/html nginx ### 第一個(gè)-v:掛載日志目錄 第二個(gè)-v:掛載配置目錄 第三個(gè)-v:掛載主配置文件 第四個(gè)-v:掛載項(xiàng)目目錄
掛載完成以后訪問主頁面:

然后在訪問我們之前在default寫的一個(gè)location /images:

重啟nginx:
docker exec -it b511b6049f57 nginx -s reload
到此這篇關(guān)于詳解docker nginx 容器啟動(dòng)掛載到本地的文章就介紹到這了,更多相關(guān)docker nginx啟動(dòng)掛載內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
通過Docker為本地DeepSeek-r1部署WebUI界面的完整教程
本文詳細(xì)介紹了如何通過Docker安裝并配置OpenWebUI,一個(gè)功能豐富的自托管Web用戶界面,用于與大型語言模型交互,文章步驟包括安裝Docker、配置WSL2、使用dockerrun命令部署OpenWebUI,并提供了詳細(xì)的命令解釋和部署結(jié)果,需要的朋友可以參考下2025-02-02
docker內(nèi)部容器之間的端口訪問實(shí)現(xiàn)方法
alpine-client?與?alpine-server?兩容器,前者訪問后者監(jiān)聽之端口,以此探析?Docker?內(nèi)部容器間端口訪問機(jī)制,這篇文章主要介紹了如何實(shí)現(xiàn)docker內(nèi)部容器之間的端口訪問,需要的朋友可以參考下2024-04-04
docker拉取redis最新鏡像并運(yùn)行的方法詳解
這篇文章主要介紹了docker拉取redis最新鏡像并運(yùn)行的方法,文章通過圖文結(jié)合的方式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-05-05
docker+gitlab+gitlab-runner部署詳解
這篇文章主要介紹了docker+gitlab+gitlab-runner部署詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10
docker部署MongoDB數(shù)據(jù)庫的實(shí)現(xiàn)步驟
Docker可以提供一個(gè)輕量級(jí)、可移植的容器化環(huán)境,使得MongoDB的部署變得更加簡單和靈活,本文主要介紹了docker部署MongoDB數(shù)據(jù)庫的實(shí)現(xiàn)步驟,具有一定的參考價(jià)值,感興趣的可以了解一下2024-04-04
詳細(xì)講解Docker-Compose部署Kafka?KRaft集群環(huán)境
這篇文章主要為大家介紹了Docker-Compose部署Kafka?KRaft集群環(huán)境的全面詳細(xì)講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01

