使用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 docker
systemctl restart docker --重启
systemctl stop docker --停止
查看版本
docker version
查看状态
service docker status
2,安装nginx
yum install nginx
启动服务
systemctl start nginx
systemctl restart nginx --重启
systemctl stop nginx --停止
啥也不显示表示正常启动,如显示
表示启动出错,看这里解决 https://blog.csdn.net/a1007720052/article/details/82255226
输入http://服务器IP/ 如果能看到nginx的界面,就表示安装成功了
3,从docker hub 中拉取 项目 docker image
先登录
docker login
输入在 docker hub的账号密码进行登录
登录成功后,执行下面命令拉取
docker pull [image 名称]
4,启动 docker运行镜像服务
查看镜像文件
运行镜像到容器中:
docker run -p 127.0.0.1:9000:8080 -t docker.io/ejiyuan/demo-docker
这里我不想将9000端口暴露给外网(所有请求都从nginx,映射过来,也就是仅对往外开放80端口)所有限定ip:127.0.0.1,如果你既想实现通过指定域名访问,又想通过外部 “ip+端口” 访问,这里去掉127.0.0.0即可
检查是否正常运行:
方法1,使用curl透一下:
我的默认控制器会返回 hello Docker World
方法2,检查服务运行状态
方法3,使用 docker ps命令查看运行的容器
5,配置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项目容器运行日志
6,参考文档
在Docker容器环境中用Let's Encrypt部署HTTPS
- docker nginx实现一个主机部署多个站点
- Nginx实现一台主机通过不同域名访问不同项目
- 同一个tomcat下部署多个项目,使用不同的域名访问
- 学习淘淘商城第七十四课(学习nginx配置及举例使用端口、域名来区分不同的虚拟主机)
- 【097】Nginx实现一台服务器,两个域名发布不同的前端项目,并且两个域名都用80端口。
- 一个tomcat服务器上部署多个项目,不同域名访问
- 同一个tomcat下部署多个项目,使用不同的域名访问
- 不同的域名可以指向同一个项目
- 不同的域名指向同一个主机上的不同项目
- Nginx虚拟机主机根据不同的域名使用不同的root路径
- 测试一个ip两个域名,每个域名指向不同项目
- Nginx实现多个站点使用一个端口(配置Nginx的虚拟主机)
- nginx在一个服务器上配置两个项目,并通过两个不同的域名访问
- Nginx+Tomcat实现不同项目域名映射配置(超详细)
- nginx两个域名指向一个项目的解决办法
- 多域名指向相同的虚拟主机如何设置使用不同的首页
- Nginx实现多个站点使用一个端口(配置Nginx的虚拟主机)
- Nginx实现多个站点使用一个端口(配置Nginx的虚拟主机)
- Nginx实现多个站点使用一个端口(配置Nginx的虚拟主机)
- Nginx实现多个站点使用一个端口(配置Nginx的虚拟主机)