from:科技玩家
背景:
在一个主机下创建了多个docker,域名只能访问80端口,要想访问其他的docker只能在域名后面加端口号,通过Nginx Proxy Manager反向代理的方法,一个域名一个公网IP一个端口对应一个二级域名即可巧妙去掉端口
准备工作:
1.一个域名(可以在 freenom 申请一个免费的域名)
2.一个 cloudflare 账号
3.一台具有公网ip的主机
一、将域名解析到自己的公网IP
步骤概要:
- 注册一个Cloudflare账号;
- 添加你的网站到Cloudflare中,获取Cloudflare的域名解析服务器(NS);
- 前往你的域名注册网站,修改域名解析服务器(NS)为Cloudflare的,Cloudflare会自动获取已有的解析记录,但有时候也会获取不全,你需要人工检查一下。
- 按需在Cloudflare中添加网站解析记录,常用的解析记录是A记录,用于将域名指向网站的服务器IP
二、Docker安装nginx proxy manager
项目地址:https://github.com/NginxProxyManager/nginx-proxy-manager?utm_source=nginx-proxy-manager
1.安装docker-compose
#国外鸡
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
#添加可执行权限
sudo chmod +x /usr/local/bin/docker-compose
#测试安装结果
$ docker-compose --version
2.根据GitHub文档安装
- 在主机新建一个文件夹
- 在文件夹内新建 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
3.进入nginx proxy manager后台
后台地址:ip:81
#初始账号密码Email: admin@example.com
Password: changeme
4.简单设置一下
5.完结撒花
可以自行百度安装证书用上https
发表回复