Docker:应用部署的神器
以前在 Linux 上安装软件(比如 MySQL、PHP),经常会遇到各种依赖冲突,装一天都装不好。 Docker 的出现改变了一切。它把软件和环境打包成一个“集装箱”,你只需要一句命令,就能直接拉取并运行,用完即删,不污染系统。
1. 一键安装脚本
不管你是 Debian、Ubuntu 还是 CentOS,都可以使用 Docker 官方的一键安装脚本。
SSH 连接服务器,输入:
curl -fsSL https://get.docker.com | bash
(等待进度条跑完,大概需要 1-3 分钟)
2. 启动并设置开机自启
安装完成后,需要告诉系统:我要用它,并且开机自动运行。
systemctl start docker
systemctl enable docker
3. 安装 Docker Compose
Docker 只能管理单个容器,而 Docker Compose 可以用一个文本文件管理多个容器(比如同时启动 博客+数据库),是部署复杂应用的神器。
输入以下命令安装最新版:
# 下载文件
curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 赋予执行权限
chmod +x /usr/local/bin/docker-compose
# 验证安装是否成功
docker-compose --version
如果你看到类似 Docker Compose version v2.x.x 的输出,说明安装成功!
📄 3.2 Nginx Proxy Manager:小白也能用的反代神器
建议保存路径:
/wiki/app/npm-guide.md
Nginx Proxy Manager (NPM):给你的服务穿上西装
假设你在 VPS 上装了一个网盘,访问地址是 http://1.2.3.4:5244。
这就很丑,而且不安全。
我们想要的效果是:访问 https://disk.yourdomain.com 直接进入。
这就需要 反向代理。手写 Nginx 配置太难,我们用图形化界面的 NPM。
1. 准备工作
- 你需要一个域名(在 Namesilo/阿里云 购买)。
- 将域名解析到你 VPS 的 IP(A 记录)。
- VPS 的
80和443端口没有被占用。
2. 部署 NPM
创建一个文件夹并创建配置文件:
mkdir -p /root/data/docker_data/npm
cd /root/data/docker_data/npm
nano docker-compose.yml
粘贴以下内容(这是标准配置):
version: "3"
services:
app:
image: "jc21/nginx-proxy-manager:latest"
restart: unless-stopped
ports:
- "80:80" # 网页默认端口
- "81:81" # NPM 管理后台端口
- "443:443" # HTTPS 端口
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
按 Ctrl+O 回车保存,Ctrl+X 退出。然后启动:
docker-compose up -d
3. 登录后台
在浏览器访问:http://你的VPS_IP:81
- 默认账号:
admin@example.com - 默认密码:
changeme
(登录后请立即修改邮箱和密码)
4. 申请 SSL 证书与反代
- 点击 Proxy Hosts -> Add Proxy Host。
- Domain Names: 填你的域名 (如
blog.abc.com)。 - Forward Host: 填 VPS 的内网 IP (通常是
172.17.0.1) 或者容器名。 - Forward Port: 填你实际服务的端口 (比如 5244)。
- 切换到 SSL 选项卡:
- SSL Certificate: 选择 "Request a new SSL Certificate"。
- 勾选 Force SSL (强制 https)。
- 勾选 I Agree...。
- 点击 Save,搞定!
📄 3.3 实战:5 分钟搭建 WordPress 博客
建议保存路径:
/wiki/app/wordpress.md
实战:搭建全球最流行的博客 WordPress
即使在自媒体时代,拥有一个属于自己的、数据完全掌握在自己手中的博客,依然是一件很酷的事情。
1. 创建目录
mkdir -p /root/data/docker_data/wordpress
cd /root/data/docker_data/wordpress
nano docker-compose.yml
2. 编写配置
粘贴以下内容:
version: "3"
services:
db:
image: mysql:5.7
volumes:
- ./db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: your_root_password # 请修改这里:数据库root密码
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: your_wordpress_password # 请修改这里:数据库用户密码
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "8000:80" # 左边的8000可以改成任意未占用的端口
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: your_wordpress_password # 必须和上面数据库用户密码一致
WORDPRESS_DB_NAME: wordpress
volumes:
- ./wp_data:/var/www/html
⚠️ 注意:请务必修改里面的密码部分!
3. 启动服务
docker-compose up -d
4. 完成安装
- 此时,你可以通过
http://你的IP:8000访问博客。 - 配合上一篇的 NPM,添加一个反向代理:
- 域名:
blog.你的域名.com - 转发端口:
8000
- 域名:
- 访问域名,按照屏幕提示设置博客标题、管理员账号,开始你的写作之旅吧!