Ubuntu Server
安装 Docker
应用
服务配置
- 服务器:
- Docker-CE
- Nginx Proxy Manager:反向代理工具
- Sing-box:代理
- FRPS:内网穿透
- RustDesk:远程访问工具
- Docker-CE
准备工作
一键DD重装系统
-
- 下载脚本
- 国外服务器:
curl -O https://raw.githubusercontent.com/bin456789/reinstall/refs/heads/main/reinstall.sh || wget -O reinstall.sh $_
- 国内服务器:
curl -O https://cnb.cool/bin456789/reinstall/-/git/raw/main/reinstall.sh || wget -O reinstall.sh $_
-
- 安装系统
bash reinstall.sh ubuntu 25.04
- 安装系统
-
- 重启系统
reboot
- 重启系统
安装Docker
1. 更新系统软件包
sudo apt update
sudo apt upgrade -y
2.安装依赖包,允许 apt 使用 HTTPS
sudo apt install -y \
apt-transport-https \
ca-certificates \
curl \
software-properties-common
3.添加 Docker 的官方 GPG 密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
注意:如果你使用的是其他版本的 Ubuntu(如 20.04、22.04 等),请确保使用对应版本的仓库地址。
4.添加 Docker 的 APT 软件源
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
$(lsb_release -cs) 会自动获取你当前 Ubuntu 的版本代号,如 focal(20.04)、jammy(22.04)等。
5.更新 apt 包索引
sudo apt update
6.安装 Docker Engine
sudo apt install -y docker-ce docker-ce-cli containerd.io
docker-ce 是社区版(免费),docker-ce-cli 是命令行工具,containerd.io 是容器运行时。
7.启动并设置开机自启(选做)
sudo systemctl start docker
sudo systemctl enable docker
8.验证安装
sudo docker run hello-world
如果看到 “Hello from Docker!” 的消息,说明安装成功。
-
查看版本
docker version
-
☐ uninstall
sudo apt-get purge docker-ce docker-ce-cli containerd.io
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
安装Potainer (可选)
新建数据存放路径
mkdir /docker_data
mkdir /docker_data/portainer
安装并运行portainer
docker run -d --name portainer -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v /docker_data/portainer:/data --restart=always portainer/portainer-ce:latest
安装其它服务
NPM
version: '3.8'
services:
app:
container_name: npm
image: 'chishin/nginx-proxy-manager-zh'
# image: 'jc21/nginx-proxy-manager' #可选官方版
restart: always
ports:
- '80:80'
- '81:81'
- '443:443'
volumes:
- /docker_data/npm/data:/data
- /docker_data/npm/letsencrypt:/etc/letsencrypt
- 中文版
docker run -d --name npm -p 80:80 -p 81:81 -p 443:443 -v /docker_data/npm/data:/data -v /docker_data/npm/letsencrypt:/etc/letsencrypt --restart=always chishin/nginx-proxy-manager-zh #可选中文版
- 官方版
docker run -d --name npm -p 80:80 -p 81:81 -p 443:443 -v /docker_data/npm/data:/data -v /docker_data/npm/letsencrypt:/etc/letsencrypt --restart=always jc21/nginx-proxy-manager #可选官方版
- Access using http://your_host_name:81
- Email address: [email protected]
- password: changeme
FRP
-
配置说明
- FRPS
- 官方已抛弃
.ini
格式,建议使用新的.toml
格式 - 更多示例请参考官方配置模板进行修改
- 官方已抛弃
- FRPC
- OpenWrt插件已长期未更新,暂只支持
ini
格式且无法正常运行
- OpenWrt插件已长期未更新,暂只支持
- FRPS
-
Frps Docker安装:
docker run -d --name=frps --restart=always -p 8080:80 -p 4433:443 -v /docker_data/frps/frps.toml:/frp/frps.toml snowdreamtech/frps
- Frps 配置示例:
[common]
bindAddr = "或服务器IP或绑定的域名"
bindPort = 7000
# 身份认证
auth.method = "token"
auth.token = "xxx"
authentication_method = token # 使用OpenWrt的frpc插件时得用旧版格式
token = xxx # 使用OpenWrt的frpc插件时得用旧版格式
# 虚拟主机
vhostHTTPPort = 8080
vhostHTTPSPort = 4433
vhost_http_port = 8080 # 使用OpenWrt的frpc插件时得用旧版格式
vhost_https_port = 4433 # 使用OpenWrt的frpc插件时得用旧版格式
# Dashboard
webServer.port = 7500
webServer.user = "admin"
webServer.password = "xxx"
# TCP多路复用
transport.tcpMux = true
tcpmuxHTTPConnectPort = 5002
# 连接池
transport.maxPoolCount = 5
# KCP协议
# kcp 绑定的是 UDP 端口,可以和 bindPort 一样
# kcpBindPort = 7000
# QUIC协议
# QUIC 绑定的是 UDP 端口,可以和 bindPort 一样
# quicBindPort = 7000
# 自定义二级域名
subdomainHost = "example.com"
从 v0.52.0 版本开始,frp 开始支持 TOML、YAML 和 JSON 作为配置文件格式。
请注意,INI 已被弃用,并将在未来的发布中移除。新功能只能在TOML、YAML 或 JSON 中使用。希望使用这些新功能的用户应相应地切换其配置格式。
RustDesk
docker run --restart=always --network host -d -v /docker_data/rustdesk:/data --name rustdesk rustdesk/rustdesk-server-s6:latest
Sing-Box
docker run -dit \
--pull always \
--name sing-box \
-p 8800-8820:8800-8820/tcp \
-p 8800-8820:8800-8820/udp \
-e START_PORT=8800 \
-e SERVER_IP=你服务器的IP \
-e XTLS_REALITY=true \
-e HYSTERIA2=true \
-e TUIC=true \
-e SHADOWTLS=true \
-e SHADOWSOCKS=true \
-e TROJAN=true \
-e VMESS_WS=true \
-e VLESS_WS=true \
-e H2_REALITY=true \
-e GRPC_REALITY=true \
-e ANYTLS=true \
-e UUID=可在线生成 \
-e CDN=www.csgo.com \
-e NODE_NAME=sing-box \
-e ARGO_DOMAIN=你的CF Tunnel添加的域名 \
-e ARGO_AUTH='你的CF Tunnel Token' \
fscarmen/sb
备注
-
隐藏端口方法:以NPM访问端口81为例。安装好NPM后可通过
http://域名或IP:81
访问,在NPM配置端口转发后可不带端口访问,配置好SSL后可使用https协议访问。 -
NPM配置FRP服务只需要填写IP(172.17.0.1)和转发端口(8080)即可。
-
Rustdesk不需要配置端口转发,客户端会自动识别端口。
参考
- 一键DD/重装脚本 (One-click reinstall OS on VPS)
- How To Install Docker Engine on Ubuntu 22.04 or 20.04 or 18.04
- linux系统安装Docker
- Install Portainer in Linux – Best Docker Web UI
- 安装Docker图形管理界面portainer
- Halo 与 Nginx Proxy Manager 配合使用
- FRP官方文档
- FRP官方配置模板
- linux docker安装 rustdesk
- RustDesk官方文档
- Sing-box 全家桶 — 一键多协议脚本
评论区