服务安装
# docker 换源
vi /etc/docker/daemon.json
{
"registry-mirrors": [
"https://docker.211678.top",
"https://docker.1panel.live",
"https://hub.rat.dev",
"https://docker.m.daocloud.io",
"https://do.nark.eu.org",
"https://dockerpull.com",
"https://dockerproxy.cn",
"https://docker.awsl9527.cn"
],
"exec-opts": ["native.cgroupdriver=systemd"]
}
2
3
4
5
6
7
8
9
10
11
12
13
k8s 环境要加这个配置,不然会报错:"exec-opts": ["native.cgroupdriver=systemd"]
然后重启
sudo systemctl daemon-reload
sudo systemctl restart docker
2
# CentOS Docker 安装
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
由于网络问题,官方的现在用不了,使用阿里镜像安装:
- 安装依赖
yum install -y yum-utils \
device-mapper-persistent-data \
lvm2 --skip-broken
2
3
- 更新本地镜像源
# 设置docker镜像源
yum-config-manager \
--add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo
yum makecache fast
2
3
4
5
6
7
8
- 安装docker
yum install docker-ce docker-ce-cli containerd.io
设置开机自启动
systemctl enable docker # 开机自动启动docker
systemctl start docker # 启动docker
systemctl restart docker # 重启dokcer
2
3
4
5
# Docker 安装 Alist
#这里是用的dockerdesktop,映射目录可以改成你自己的
docker run -di --restart=always -v /root/alist/data:/opt/alist/data -p 5244:5244 -e PUID=0 -e PGID=0 -e UMASK=022 --name="alist" xhofe/alist:latest
#首次登陆建议设置成指定密码
docker exec -it alist ./alist admin set NEW_PASSWORD
2
3
4
# Docker 安装 frps
# 服务端安装
拉取镜像
docker pull snowdreamtech/frps
配置
mkdir /etc/frp
vim /etc/frp/frps.toml
# 输入以下内容
[common]
# 监听端口
bind_port = 7000
# 面板端口
dashboard_port = 7500
# 登录面板账号设置
dashboard_user = admin
dashboard_pwd = admin
# 设置http及https协议下代理端口(非重要)
# vhost_http_port = 7080
# vhost_https_port = 7081
# 身份验证
# token = 12345678
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
启动
docker run --restart=always --network host -d -v /etc/frp/frps.toml:/etc/frp/frps.toml --name frps snowdreamtech/frps
启动成功查看端口占用:
netstat -nltp | grep frps
服务端面板查看

# 客户端安装
客户端配置如下:
mkdir /etc/frp
vim /etc/frp/frpc.toml
# 输入以下内容
[common]
# server_addr为FRPS服务器IP地址
server_addr = 120.55.170.164
# server_port为服务端监听端口,bind_port
server_port = 7000
# 身份验证
token = 12345678
# 内网穿透22端口
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 15000
# 内网穿透80端口
[nginx]
type = tcp
local_ip = 127.0.0.1
local_port = 80
remote_port = 15001
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
客户端启动
docker run --restart=always --network host -d -v /etc/frp/frpc.toml:/etc/frp/frpc.toml --name frpc snowdreamtech/frpc
# 访问
上面客户端暴露的 ssh 和 Nginx 服务,访问如下:
# 格式 ssh 内网计算机用户@转发服务器IP -p 转发服务器代理端口
ssh root@120.55.170.164 -p 15000
2
# 在浏览器输入地址就可内网nginx服务了
http://120.55.170.164:15001
2
新版客户端配置略有不同:
配置
serverAddr = "120.55.170.164"
serverPort = 7000
[[proxies]]
name = "web"
type = "tcp"
localIP = "127.0.0.1"
localPort = 3100
remotePort = 3100
[[proxies]]
name = "web"
type = "http"
localIP = "127.0.0.1"
localPort = 3100
customDomains = ["wuzhiyong.eu.org"]
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
启动
.\frpc.exe -c .\frpc.toml
# 下载地址
- 官方下载地址:https://github.com/fatedier/frp
- 安卓版载地址:https://github.com/mainfunx/frpc_android
# iptv 直播源安装
docker 镜像herberthe0229/iptv-sources
github 地址:https://github.com/HerbertHe/iptv-sources
# MySQL 安装
- 下载 MySQL
5.7的 docker 镜像:
docker pull mysql:5.7
- 使用如下命令启动 MySQL 服务:
docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7
2
3
4
5
6
参数说明
- -p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口
- -v /mydata/mysql/conf:/etc/mysql/conf.d \:将配置文件夹挂在到主机
- -v /mydata/mysql/log:/var/log/mysql:将日志文件夹挂载到主机
- -v /mydata/mysql/data:/var/lib/mysql/:将数据文件夹挂载到主机
- -e MYSQL_ROOT_PASSWORD=root:初始化 root 用户的密码
/mydata/mysql/data 目录下创建 my.conf,配置如下:
[client]
default-character-set=utf8
#character-set-server=utf8
#mysqlde utf8字符集默认为3位的,不支持emoji表情及部分不常见的汉字,故推荐使用utf8mb4
[mysql]
default-character-set=utf8
#character-set-server=utf8
[mysqld]
#character-set-server=utf8
performance_schema=off #效果明显
table_open_cache=64
performance_schema_max_table_instances=400
innodb_buffer_pool_chunk_size=64M
innodb_buffer_pool_size=64M
query_cache_size=16M
tmp_table_size=18M
key_buffer_size=32m
#skip-grant-tables
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
- 进入运行 MySQL 的 docker 容器:
docker exec -it mysql /bin/bash
- 使用 MySQL 命令打开客户端:
mysql -uroot -proot --default-character-set=utf8
# Redis 安装
- 下载 Redis
7的 docker 镜像:
docker pull redis:7
- 使用如下命令启动 Redis 服务:
docker run -p 6379:6379 --name redis \
-v /mydata/redis/data:/data \
-d redis:7 redis-server --appendonly yes
2
3
- 进入 Redis 容器使用
redis-cli命令进行连接:
docker exec -it redis redis-cli
# Nginx Proxy Manager
拉取镜像:
docker pull jc21/nginx-proxy-manager
启动:
docker run -d --restart=always --name nginx-proxy-manager \
-p 80:80 -p 443:443 -p 81:81 \
-v /root/docker/nginx-proxy-manager/data:/data \
-v /root/docker/nginx-proxy-manager/letsencrypt:/etc/letsencrypt \
jc21/nginx-proxy-manager
2
3
4
5
修改域名解析:由
@修改为*
直接拉取镜像拉取不下来,修改为阿里云的镜像容器镜像服务 (aliyun.com) (opens new window) > http://111.173.105.200:81/login访问 默认登陆的用户名:
admin@example.com密码:changeme
compose 模式:
mkdir -p /root/docker/nginx-proxy-managercd /root/docker/nginx-proxy-managervi docker-compose.yml输入如下内容: version: '3' services: app: image: 'jc21/nginx-proxy-manager:latest' restart: unless-stopped ports:- '80:80' # 不建议修改端口
- '81:81' # 可以把冒号左边的 81 端口修改成你服务器上没有被占用的端口
- '443:443' # 不建议修改端口 volumes:
- ./data:/data # 点号表示当前文件夹,冒号左边的意思是在当前文件夹下创建一个 data 目录,用于存放数据,如果不存在的话,会自动创建
- ./letsencrypt:/etc/letsencrypt # 点号表示当前文件夹,冒号左边的意思是在当前文件夹下创建一个 letsencrypt 目录,用于存放证书,如果不存在的话,会自动创建
docker-compose up -d
# flare
项目地址:https://github.com/soulteary/docker-flare
# 安装
mkdir -p /root/docker/flarecd /root/docker/flarevi docker-compose.ymldocker-compose up -ddocker-compose.yml 内容如下:
version: "3.6"
services:
flare:
image: soulteary/flare
restart: always
# 默认无需添加任何参数,如有特殊需求
# 可阅读文档 https://github.com/soulteary/docker-flare/blob/main/docs/advanced-startup.md
command: flare
# 启用账号登陆模式
#command: flare --nologin=0
environment:
# 如需开启用户登陆模式,需要先设置 `nologin` 启动参数为 `0`
# 如开启 `nologin`,未设置 FLARE_USER,则默认用户为 `flare`
- FLARE_USER=flare
# 指定你自己的账号密码,如未设置 `FLARE_USER`,则会默认生成密码并展示在应用启动日志中
- FLARE_PASS=flare
# 是否开启“使用向导”,访问 `/guide`
- FLARE_GUIDE=1
ports:
- 80:5005 # 左边的3020端口可以修改成任意服务器没有用过的端口
volumes:
- ./app:/app # 文件保存在当前路径下的app文件夹中
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 更新
cd /root/docker/flaredocker-compose downdocker-compose pulldocker-compose up -ddocker image prune# prune 命令用来删除不再使用的 docker 对象。删除所有未被 tag 标记和未被容器使用的镜像
# 使用
http://111.173.105.200:5005/editor
# 图标
使用浏览器访问 /icons/ 可以打开图标列表页面。
在页面中选择你喜欢的图标,鼠标点击之后,默认会将程序可以直接使用的“图标名称”保存在剪贴板,然后粘贴到配置文件中,flare 就会自动更新书签的图标啦。
# Sun-Panel
提示
安装类似 flare,只是配置稍有区别
version: "3.2"
services:
sun-panel:
image: "hslr/sun-panel:latest"
container_name: sun-panel
volumes:
- ./conf:/app/conf
- ./uploads:/app/uploads
- ./database:/app/database
# - ./runtime:/app/runtime
ports:
- 5005:3002
restart: always
2
3
4
5
6
7
8
9
10
11
12
13
14
docker compose ps查看运行状况
docker compose logs查看运行日志
docker pull hslr/sun-panel
docker run -d --restart=always -p 5005:3002 \
-v /root/docker/sun-panel/conf:/app/conf \
-v /root/docker/sun-panel/uploads:/app/uploads \
-v /root/docker/sun-panel/database:/app/database \
--name sun-panel \
hslr/sun-panel
2
3
4
5
6
7
8
提示
默认登录账号信息为: 账号:admin@sun.cc,密码:12345678
# Jenkins
docker pull jenkins/jenkins- 创建挂载目录
D:\docker\jenkins\jenkins_data - 运行容器
docker run -d -p 18080:8080 -p 50000:50000 \
-v D:/docker/jenkins/jenkins_data:/var/jenkins_home \
# -v /etc/localtime:/etc/localtime \
# -v /usr/bin/docker:/usr/bin/docker \
# -v /var/run/docker.sock:/var/run/docker.sock \
--restart=on-failure \
-u 0 \
--name jenkins \
jenkins/jenkins
2
3
4
5
6
7
8
9
docker run -d -p 18080:8080 -p 50000:50000 \
-v D:/docker/jenkins/jenkins_data:/var/jenkins_home \
--restart=on-failure \
-u 0 \
--name jenkins \
jenkins/jenkins
2
3
4
5
6
- 访问 http://localhost:18080/
- 查看密码
第一种方法,进入容器内查看密码:
docker exec -it -u root 容器id /bin/bash或者docker exec -it -u root jenkins /bin/bash
cat /var/jenkins_home/secrets/initialAdminPassword

第二中可以进入本地映射的路径查看,在D:\docker\jenkins\jenkins_data\secrets\initialAdminPassword
- 修改 Jenkins 时间
docker exec -it -u root 容器id /bin/bash # 进入容器
echo Asia/Shanghai >/etc/timezone # 容器内创建Asia时区文件
exit
docker restart jenkins
2
3
4
5
# Bitwarden
docker run -d \
--name bitwarden \
--restart always \
-v /root/docker/bitwarden:/data \
-p 3030:80 \
vaultwarden/server:latest
2
3
4
5
6
也可加入环境变量禁止注册、禁止邀请,我没加,自己酌情考虑:
-e SIGNUPS_ALLOWED=false \
-e INVITATIONS_ALLOWED=false \
2
安装后可以配合浏览器插件可以自动填充账户密码,或者使用客户端查看密码,选择自托管,填写自己搭的服务器地址。

# Pairdrop
Pairdrop文件传输用的,github地址 (opens new window)
docker-compose.yaml,里面包含注释
version: "3"
services:
pairdrop:
image: "lscr.io/linuxserver/pairdrop:latest"
container_name: pairdrop
restart: unless-stopped
environment:
- PUID=1000 # UID to run the application as
- PGID=1000 # GID to run the application as
- WS_FALLBACK=false # Set to true to enable websocket fallback if the peer to peer WebRTC connection is not available to the client.
- RATE_LIMIT=false # Set to true to limit clients to 1000 requests per 5 min.
- RTC_CONFIG=false # Set to the path of a file that specifies the STUN/TURN servers.
- DEBUG_MODE=false # Set to true to debug container and peer connections.
- TZ=Etc/UTC # Time Zone
ports:
- "127.0.0.1:3000:3000" # Web UI. Change the port number before the last colon e.g. `127.0.0.1:9000:3000`
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
docker运行
docker run -d \
--name=pairdrop \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Asia/Shanghai \
-e WS_FALLBACK=false \
-e DEBUG_MODE=false \
-p 3000:3000 \
--restart always \
lscr.io/linuxserver/pairdrop:latest
2
3
4
5
6
7
8
9
10
# FileCodeBox (opens new window)
Pairdrop只能局域网使用,这个可以跨局域网使用。docker部署教程:部署教程 · vastsa/FileCodeBox (opens new window)
# Xray
主要的配置和脚本放到阿里云盘上了。
# Minio
docker run -p 9000:9000 -p 9001:9001 --name minio \
--restart always -d \
-e "MINIO_ROOT_USER=admin" \
-e "MINIO_ROOT_PASSWORD=admin123" \
-v /root/minio/data:/data \
-v /root/minio/config:/root/.minio \
minio/minio server /data --console-address ":9001"
2
3
4
5
6
7
- 控制台访问:http://服务器地址:9001/browser/file/wallhaven-zyj28v.jpg
- 设置桶的访问策略:public、custom、private
- 文件访问:http://服务器地址:9000/file/wallhaven-zyj28v.jpg
旧版本的minio,只有一个端口,功能简单
docker run -p 9000:9000 --name minio \
--restart always -d \
-e "MINIO_ACCESS_KEY=admin" \
-e "MINIO_SECRET_KEY=admin123" \
-v /root/minio/data:/export \
minio/minio:RELEASE.2020-08-08T04-50-06Z server /export
2
3
4
5
6
# Filegator
github地址:filegator/filegator: Powerful Multi-User File Manager (github.com) (opens new window)
- 拉取镜像
docker pull filegator/filegator
- 创建目录并加权限
mkdir -p /root/docker/filegator/data && cd /root/docker/
chmod -R 777 filegator/
2
- 启动容器
docker run -d \
--name filegator \
--restart always \
-p 8080:8080 \
-v /root/docker/filegator/data:/var/www/filegator/repository/ \
filegator/filegator
2
3
4
5
6
- 访问http://127.0.0.1:8080/,默认的用户和密码是
admin、admin123