Docker - 配置 Nginx 訪問宿主機目錄下的應用

配置並啓動 Tomcat
安裝 Docker
配置 Nginx
建立配置和日誌文件夾
mkdir /home/nginx/conf
mkdir /home/nginx/logs

查詢宿主機 IP
docker inspect --format '{{ .NetworkSettings.IPAddress }}' <container-ID> nginx

# 或
docker inspect <container id> docker

# 或
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container_name_or_id

添加配置文件 nginx.conf
將 8084端口轉發到8080端口,使用 log_format目的是爲了使用阿里雲監控切分日誌,能夠沒有
log_format proxyformat "$remote_addr $request_time $http_x_readtime [$time_local] \"$request_method http://$host$request_uri\" $status $body_bytes_sent \"$http_referer\" \"$upstream_addr\" \"$http_user_agent\" \"$upstream_response_time\" \"$request_time\"";阿里雲


 server {
      listen 80;
      server_name ali.hellowood.com.cn;
      location / {
        proxy_pass http://172.17.0.1:8080;
        proxy_set_header Host $http_host;                    
        proxy_set_header X-Real-IP $remote_addr;                    
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
      }
  }  

須要注意的是,Docker 會默認使用橋接路由,因此其 IP 和宿主機的 IP 位於同一 IP 段,而且默認宿主機的 IP 爲第一個,即若是 Docker 的 IP 爲 10.1.0.2, 則能夠經過 訪問 10.1.0.1 訪問到宿主機日誌

拉取 Nginx 鏡像
docker pull nginx
1
啓動容器
docker run --name nginx -d -p 8084:80 -v /home/nginx/conf:/etc/nginx/conf.d -v /home/nginx/logs:/var/log/nginx nginx
1
待容器啓動後訪問http://ali.hellowood.com.cn:8084就能夠看到 Tomcat 的頁面了orm

相關文章
相關標籤/搜索