前提:
在一个主机下创建了多个docker,域名只能访问80端口,要想访问其他的docker只能在域名后面加端口号,通过Nginx Proxy Manager反向代理的方法,一个域名一个公网IP一个端口对应一个二级域名即可巧妙去掉端口
准备工作
1.一个域名(可以在 freenom 申请一个免费的域名)注册有点麻烦可以在新网腾讯啥的买一个
2.一个 cloudflare 账号:
3.一个服务器
一.步骤开始
1.注册一个Cloudflare账号;
2.添加你的网站到Cloudflare中,获取Cloudflare的域名解析服务器(NS);
3.前往你的域名注册网站,修改域名解析服务器(NS)为Cloudflare的,Cloudflare会自动获取已有的解析记录,但有时候也会获取不全,你需要人工检查一下。
4.按需在Cloudflare中添加网站解析记录,常用的解析记录是A记录,用于将域名指向网站的服务器IP
二、Docker安装nginx proxy manager
1.输入安装
国外服务器↓
sudo curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
国内服务器↓
sudo curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
2.添加可执行权限
sudo chmod +x /usr/local/bin/docker-compose
3.测试安装结果
$ docker-compose --version
三.在主机新建一个文件夹
四.在文件夹内新建 docker-compose.yml
文件,填入以下代码
version: '3'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
- '80:80'
- '81:81'
- '443:443'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
cd到文件所在位置,执行下列代码
docker-compose up -d
后台地址:ip:81
#初始账号密码
Email: admin@example.com
Password: changeme
可以自行百度安装证书用上https
QQ群:点击链接加入群聊【IT交流<$ÿĀ>】:https://jq.qq.com/?_wv=1027&k=Ko2DXCLh