Duke Yin's Technology database

CentOS7 安装Docker 安装Nginx Proxy Manager

防火墙放行端口:

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --permanent --add-port=81/tcp

重载防火墙

sudo firewall-cmd --reload

尝试卸载旧版Docker

sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine

如果没有旧版 会提示没安装

安装yum-utils,并使用yum-config-manager设置docker仓库

sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

安装Docker引擎(最新版)

sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

启动Docker

sudo systemctl start docker

可选:把自己的用户名添加到Docker用户组(root无需)

sudo usermod -aG docker $USER

可选:跑一个测试容器验证docker安装成功:

sudo docker run hello-world

如果没有问题的话 会拉取hello-world的镜像并创建一个容器。

需要时选:卸载Docker引擎

sudo yum remove docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras

需要时选:删除镜像 容器 和 配置文件等残留

sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

安装Docker Compose

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

赋予执行权限

sudo chmod +x /usr/local/bin/docker-compose

创建一个专属于NPM的网络:

docker network create npm-nw

创建个文件夹用来存放Nginx Proxy Manager 并进入这个文件夹

mkdir ~/nginx-proxy
cd ~/nginx-proxy

在此文件夹下创建需要映射出来的子文件

mkdir {data,letsencrypt,www}

创建并编辑yml配置文件,nano或vi皆可

vi docker-compose.yml

配置文件内容:

version: "3"
services:
npm-app:
image: 'jc21/nginx-proxy-manager:latest'
container_name: npm-app
restart: unless-stopped
ports:
- '80:80' # Public HTTP Port
- '443:443' # Public HTTPS Port
- '81:81' # Admin Web Port
# Add any other Stream port you want to expose
# - '21:21' # FTP
environment:
DB_MYSQL_HOST: "npm-db"
DB_MYSQL_PORT: 3306
DB_MYSQL_USER: "npm"
DB_MYSQL_PASSWORD: "npm"
DB_MYSQL_NAME: "npm"
# Uncomment the line below if IPv6 is not enabled on your host
# DISABLE_IPV6: 'true'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
depends_on:
- npm-db
networks:
- npm-nw
- npm-internal
npm-db:
image: 'mariadb:latest'
container_name: npm-db
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: 'npm'
MYSQL_DATABASE: 'npm'
MYSQL_USER: 'npm'
MYSQL_PASSWORD: 'npm'
volumes:
- ./data/mysql:/var/lib/mysql
networks:
- npm-internal
networks:
npm-internal:
npm-nw:
external: true

端口可以修改为自己希望的端口

VI:ESC 冒号后wq退出

NANO: Ctrl+X 输入Y

启动NPM

docker-compose up -d

如果没有错误输入,说明安装成功

这时候可以用 http://ip-or-url:81 打开NPM的管理后台,默认用户名密码如下

admin@example.com
changeme

更新Nginx Proxy Manager

先停止容器:

cd ~/nginx-proxy
docker-compose down --remove-orphans

拉取新镜像

docker-compose pull

启动

docker-compose up -d

# # #

发布评论

评论

标注 * 的为必填项。