先总结整体操作脉络: 系统初始化 → SSH 加固 → 安装 Docker → 部署 Prometheus 监控 → Nginx 网站配置、域名 SSL 验证 → 搭建 crproxy 镜像代理 → 尝试 tunasync 镜像同步工具 → 为 wizserver 镜像打包备份、用户密码管理、网络调试

下面按行分段解释,剔除重复无效命令,标注易错点:

基础系统 & SSH 相关

ls                                  # 列出当前目录文件
sudo apt update                     # 更新软件源索引
sudo apt upgrade -y                 # 升级本机所有已安装软件包(-y自动确认)
sudo nano /etc/ssh/sshd_config      # 使用nano编辑器修改ssh服务配置(远程登录核心配置)
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bf  # 备份ssh配置文件(bf=backup)
sudo systemctl restart sshd         # 重启ssh服务生效配置
sudo systemctl restart sshd.service # 和上面等价,ssh服务全称写法
sudo dpkg -l | grep openssh-server  # 查询是否安装openssh远程服务包
sudo apt install -y openssh-server  # 安装ssh远程服务
sudo systemctl start ssh            # 启动ssh服务
sudo systemctl enable ssh           # 设置开机自启
sudo ufw allow 22/tcp               # 防火墙放行ssh 22端口
sudo ufw reload                     # 重载防火墙规则
sudo ufw status                     # 查看ufw防火墙状态
systemctl status sshd               # 查看ssh服务运行状态
sudo passwd ubuntu                  # 修改ubuntu用户登录密码

用途:服务器远程登录安全配置,备份配置、防火墙放行远程端口。

Docker 安装全套(Ubuntu 官方方式)

sudo apt install -y ca-certificates curl gnupg lsb-release
# 安装证书、curl、gpg密钥工具、系统版本识别工具

sudo mkdir -p /etc/apt/keyrings
# 创建存放docker官方密钥目录

# 拉取Docker官方GPG密钥,用于验证软件包合法性
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

# 写入Docker软件源
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt update                     # 刷新源,识别docker源
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
# 安装docker引擎、命令行、容器运行时、新版docker compose插件

sudo docker run hello-world         # 测试docker是否正常运行
sudo usermod -aG docker $ubuntu     # 错误写法!变量不存在
sudo usermod -aG docker ubuntu      # 将ubuntu用户加入docker用户组,免sudo执行docker
sudo systemctl enable docker        # docker开机自启
sudo systemctl is-enabled docker    # 查询docker是否设置开机自启

⚠️ 坑点:sudo usermod -aG docker $ubuntu 无效,正确是第 17 行;加入组后需要重新登录 SSH 才能生效

Docker 日常运维命令

docker ps                     # 查看正在运行容器
sudo docker ps                # root权限查看运行容器
docker images                 # 列出本地所有镜像
docker pull cleverest/crproxy # 拉取crproxy镜像(镜像代理)
docker pull wiznote/wizserver:latest # 拉取为知笔记服务镜像
docker search tomcat          # 在dockerhub搜索tomcat镜像
docker search mysql           # 搜索mysql镜像
# 进入容器交互式终端
docker exec -it b21fc9bc9a5e /bin/bash
# 镜像信息查看
docker buildx imagetools inspect wiznote/wizserver:latest
docker manifest inspect docker.io/wiznote/wizserver:latest
# 过滤镜像创建时间、大小
docker buildx imagetools inspect wiznote/wizserver:latest | grep Created
docker buildx imagetools inspect wiznote/wizserver:latest | grep size
# 镜像导出备份
sudo docker save -o wizserver_latest.tar wiznote/wizserver:latest
gzip wizserver_latest.tar     # 压缩tar镜像包
sudo gzip wizserver_latest.tar

docker compose 部署(Prometheus、crproxy 镜像代理)

sudo mkdir prometheus
cd prometheus/
sudo nano docker-compose.yml    # 编写compose编排文件
sudo nano prometheus.yml        # prometheus监控配置文件
sudo docker compose up -d       # 后台启动compose服务
docker compose ps               # 查看compose管理容器
sudo docker compose ps
# 直接在终端写入yaml配置(crproxy镜像代理)
sudo cat > docker-compose.yaml <<EOF
version: '3'
services:
  crproxy:
    image: ghcr.io/daocloud/crproxy/crproxy:v0.9.1
    container_name: crproxy
    restart: unless-stopped
    ports:
      - "127.0.0.1:8081:8080"
    command: |
      --acme-cache-dir=/tmp/acme
      --acme-hosts=*
      --default-registry=docker.io
    tmpfs:
      /tmp/acme
EOF
docker compose down            # 停止并删除compose容器(保留镜像、数据卷)
sudo vi docker-compose.yaml     # 修改编排文件
sudo nano /etc/nginx/conf.d/docker-registry.conf # nginx配置crproxy反向代理

crproxy 作用:Docker 镜像加速代理,解决国内拉取 docker.io 镜像慢的问题。

Nginx 网站、域名、SSL 域名验证

sudo apt install nginx -y                   # 安装nginx网页服务器
sudo systemctl status nginx                 # 查看nginx状态
sudo systemctl start nginx
sudo systemctl enable nginx                 # nginx开机自启
cd /var/www/html                            # nginx默认网站根目录
mkdir -p .well-known/pki-validation          # http-01域名所有权验证目录(SSL证书申请)
sudo mkdir -p .well-known/pki-validation
sudo vim .well-known/pki-validation/fileauth.txt # 写入证书验证文件
cat index.nginx-debian.html                 # 查看默认nginx首页源码
# 删除验证目录
rm .well-known/
sudo rm .well-known/
sudo rm -r .well-known/

# nginx站点配置备份与新建域名配置
sudo cp /etc/nginx/sites-available/yourdomain.conf /etc/nginx/sites-available/yourdomain.conf.bf
cd /etc/nginx/sites-available
nano lingluanaishitou.xyz.conf    # 创建域名lingluanaishitou.xyz的nginx站点配置

.well-known/pki-validation 是申请 SSL 证书(Let’s Encrypt)HTTP 验证标准目录。

网络信息查询

lscpu                            # 查看CPU硬件信息
cat /proc/cpuinfo                # 读取内核CPU信息
grep "model name" /proc/cpuinfo | uniq # 只提取CPU型号
ifconfig                         # 查看网卡IP(需要net-tools)
sudo apt install net-tools       # 安装ifconfig工具
ipconfig                         # windows命令,Linux下无效
sudo ifconfig
pwd                              # 显示当前所在路径
ls -lh                           # 人性化方式列出文件大小、权限
ls -a                            # 显示隐藏文件

Tunasync 镜像同步工具下载(清华镜像同步程序)

# 多次尝试下载tunasync二进制(镜像同步工具)
wget https://github.com/tuna/tunasync/releases/latest/download/tunasync-linux-amd64-bin.tar.gz
wget https://mirrors.tuna.tsinghua.edu.cn/github-release/tuna/tunasync/LATEST/tunasync-linux-amd64-bin.tar.gz
wget https://mirrors.tuna.tsinghua.edu.cn/github-release/tuna/tunasync/v0.10.0/tunasync-linux-amd64-bin.tar.gz
# 使用ghproxy代理加速github下载,忽略证书校验
wget --no-check-certificate https://ghproxy.com/https://github.com/tuna/tunasync/releases/download/v0.10.0/tunasync-linux-amd64-bin.tar.gz
rm tunasync-linux-amd64-bin.tar.gz # 删除压缩包重新下载

tunasync:用来自建软件源镜像同步服务器。

辅助命令

history         # 查看执行过的所有命令(你现在这份内容来