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