Nginx Proxy Manger-反向代理神器-利用Docker实现一键部署
Lunix发行版
推荐使用Debian 10 或者 Ubuntu 20.04或更高版本
Nginx Proxy Manger 是一个反向代理管理系统,它基于 NGINX,具有漂亮干净的 Web UI。还可以获得受信任的 SSL 证书,并通过单独的配置、自定义和入侵保护来管理多个代理。
<span class="token function">mkdir</span> -p /root/data/docker_data/npm <span class="token operator">&&</span> <span class="token builtin class-name">cd</span> /root/data/docker_data/npm<span class="token function">mkdir</span> -p /root/data/docker_data/npm <span class="token operator">&&</span> <span class="token builtin class-name">cd</span> /root/data/docker_data/npmmkdir -p /root/data/docker_data/npm && cd /root/data/docker_data/npm
vim docker-compose.ymlvim docker-compose.ymlvim docker-compose.yml
英文输入法下,按 i
进入'Insert'
编辑模式,然后复制粘贴下面内容:
<span class="token key atrule">version</span><span class="token punctuation">:</span> <span class="token string">'3'</span> <span class="token key atrule">services</span><span class="token punctuation">:</span> <span class="token key atrule">app</span><span class="token punctuation">:</span> <span class="token key atrule">image</span><span class="token punctuation">:</span> <span class="token string">'jc21/nginx-proxy-manager:latest'</span> <span class="token key atrule">restart</span><span class="token punctuation">:</span> unless<span class="token punctuation">-</span>stopped <span class="token key atrule">ports</span><span class="token punctuation">:</span> <span class="token punctuation">-</span> <span class="token string">'80:80'</span> <span class="token punctuation">-</span> <span class="token string">'81:81'</span> <span class="token punctuation">-</span> <span class="token string">'443:443'</span> <span class="token key atrule">volumes</span><span class="token punctuation">:</span> <span class="token punctuation">-</span> ./data<span class="token punctuation">:</span>/data <span class="token punctuation">-</span> ./letsencrypt<span class="token punctuation">:</span>/etc/letsencrypt<span class="token key atrule">version</span><span class="token punctuation">:</span> <span class="token string">'3'</span> <span class="token key atrule">services</span><span class="token punctuation">:</span> <span class="token key atrule">app</span><span class="token punctuation">:</span> <span class="token key atrule">image</span><span class="token punctuation">:</span> <span class="token string">'jc21/nginx-proxy-manager:latest'</span> <span class="token key atrule">restart</span><span class="token punctuation">:</span> unless<span class="token punctuation">-</span>stopped <span class="token key atrule">ports</span><span class="token punctuation">:</span> <span class="token punctuation">-</span> <span class="token string">'80:80'</span> <span class="token punctuation">-</span> <span class="token string">'81:81'</span> <span class="token punctuation">-</span> <span class="token string">'443:443'</span> <span class="token key atrule">volumes</span><span class="token punctuation">:</span> <span class="token punctuation">-</span> ./data<span class="token punctuation">:</span>/data <span class="token punctuation">-</span> ./letsencrypt<span class="token punctuation">:</span>/etc/letsencryptversion: '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
上下左右键移动光标修改文件内容,修改完成后按一下 Esc
退出'Insert'
编辑模式,然后英文输入法输入 :wq
保存退出。
注意1:
如果在命令行复制粘贴的内容有错位是不行的,可以英文输入法输入:q!
不保存退出,然后用touch docker-compose.yml
创建一个空文件,然后在SSH工具里面的文件夹中找到这个空文件打开将内容复制进去然后点击保存。
注意2:
如果要修改冒号左边端口,需要先查看端口是否被占用(以 81 为例):
先下载工具,一般是默认有这个工具的
<span class="token function">apt</span> <span class="token function">install</span> <span class="token function">lsof</span><span class="token function">apt</span> <span class="token function">install</span> <span class="token function">lsof</span>apt install lsof
查看 81 端口是否被占用,如果被占用,重新自定义一个端口
<span class="token function">lsof</span> -i:81<span class="token function">lsof</span> -i:81lsof -i:81
先跳转,需要在创建了docker-compose.yml的文件夹中才能运行该容器,如果已经在就直接下一步
<span class="token builtin class-name">cd</span> /root/data/docker_data/npm<span class="token builtin class-name">cd</span> /root/data/docker_data/npmcd /root/data/docker_data/npm
开始创建容器
<span class="token function">docker-compose</span> up -d<span class="token function">docker-compose</span> up -ddocker-compose up -d
理论上我们就可以输入http://IP:81
访问了,比如:192.3.12.333:81
。默认登陆名和密码:
Email: admin@example.com Password: changemeEmail: admin@example.com Password: changemeEmail: admin@example.com Password: changeme
然后就可以使用了。
如果需要更新应用,可以进行如下操作
跳转到docker-compose.yml的文件目录下
<span class="token builtin class-name">cd</span> /root/data/docker_data/npm<span class="token builtin class-name">cd</span> /root/data/docker_data/npmcd /root/data/docker_data/npm
拉取最新的镜像
<span class="token function">docker-compose</span> pull<span class="token function">docker-compose</span> pulldocker-compose pull
重新更新当前镜像
<span class="token function">docker-compose</span> up -d<span class="token function">docker-compose</span> up -ddocker-compose up -d
跳转到docker-compose.yml的文件目录下
<span class="token builtin class-name">cd</span> /root/data/docker_data/npm<span class="token builtin class-name">cd</span> /root/data/docker_data/npmcd /root/data/docker_data/npm
停止容器,此时不会删除映射到本地的数据
<span class="token function">docker-compose</span> down<span class="token function">docker-compose</span> downdocker-compose down
完全删除映射到本地的数据
<span class="token function">rm</span> -rf /root/data/docker_data/npm<span class="token function">rm</span> -rf /root/data/docker_data/npmrm -rf /root/data/docker_data/npm
原文链接:https://blog.csdn.net/weixin_45694843/article/details/130092398