使用nginx实现一个主机部署多域名指向不同docker项目
?1,安裝 docker
yum install docker使用Docker 中國加速器
vim /etc/docker/daemon.json添加下面代碼?
{"registry-mirrors": ["https://registry.docker-cn.com"],"live-restore": true }(這個文件 初始狀態是空的 只有“{}”)
啟動服務
systemctl start dockersystemctl restart docker --重啟
systemctl stop docker? ? --停止
查看版本
docker version查看狀態
service docker status?2,安裝nginx
yum install nginx啟動服務
systemctl start nginxsystemctl restart nginx --重啟
systemctl stop nginx? ? --停止
啥也不顯示表示正常啟動,如顯示
表示啟動出錯,看這里解決?https://blog.csdn.net/a1007720052/article/details/82255226
輸入http://服務器IP/?如果能看到nginx的界面,就表示安裝成功了
3,把項目推送到docker hub
需要先執行 docker login 登錄到 docker hub docker push ejiyuan/demo-docker命令后面的 image tag 必須是?docker hub 用戶名 + “/” + 項目名稱形式,如果“/”與當前登錄的用戶名不對應 會提示沒有權限
Error response from daemon: pull access denied for io/webapp, repository does not exist or may require 'docker login'你可以使用下列命令修改鏡像tag名稱后再進行推送
docker tag io/webapp ejiyuan/webapp4,從docker hub 中拉取 項目 docker image
?在你需要部署的服務上安裝docker?先執行 docker login 登錄到 docker hub 然后執行下列命令拉取鏡像到你的服務器上
docker pull ejiyuan/demo-docker?docker pull [image 名稱]
5,啟動 docker運行鏡像服務
查看鏡像文件
運行鏡像到容器中:?
docker run -p 127.0.0.1:9000:8080 -t docker.io/ejiyuan/demo-dockerdocker之進入啟動容器查看目錄結構:docker exec -it containerID /bin/bash 或?docker exec -it containerID?/bin/sh
這里我不想將9000端口暴露給外網(所有請求都從nginx,映射過來,也就是僅對往外開放80端口)所有限定ip:127.0.0.1,如果你既想實現通過指定域名訪問,又想通過外部 “ip+端口” 訪問,這里去掉127.0.0.0即可
檢查是否正常運行:
方法1,使用curl透一下:
?
?我的默認控制器會返回 hello Docker World
方法2,檢查服務運行狀態
方法3,使用 docker ps命令查看運行的容器
?
6,配置nginx:
vim /etc/nginx/nginx.conf修改或添加一個server標簽
server {listen 80 default_server;listen [::]:80 default_server;server_name _;root /usr/share/nginx/html;# Load configuration files for the default server block.include /etc/nginx/default.d/*.conf;location / {}error_page 404 /404.html;location = /40x.html {}error_page 500 502 503 504 /50x.html;location = /50x.html {}}#下面是自定義配置 端口轉發 server {listen 80;server_name www.abc.com;# 這里配置我們的域名,確定域名已解析到本機location / {proxy_redirect off;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_pass http://127.0.0.1:9000; #轉發到本機9000端口 }}?重啟nginx:
systemctl restart nginx在瀏覽器訪問你的域名 www.abc.com
查看 docker項目容器運行日志
?
7,參考文檔
docker nginx實現一個主機部署多個站點
在Docker容器環境中用Let's Encrypt部署HTTPS
為 docker 中的 nginx 配置 https
?「Spring Boot」Docker配置SSL證書(免費證書)
Docker容器應用日志查看?
Nginx/Tengine服務器安裝SSL證書???
關于Docker目錄掛載的總結?
docker之進入啟動容器查看目錄結構
posted on 2019-07-18 23:51 NET未來之路 閱讀(...) 評論(...) 編輯 收藏轉載于:https://www.cnblogs.com/lonelyxmas/p/11210807.html
總結
以上是生活随笔為你收集整理的使用nginx实现一个主机部署多域名指向不同docker项目的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机网络读书笔记(1)
- 下一篇: ArcUser 2006第2期拾零