VPS服务器Docker Compose安装部署教程
在VPS服务器上通过Docker Compose(容器编排工具)部署多容器服务,是提升运维效率的常用手段。本文以Nginx+MySQL组合为例,详细演示从环境准备到服务验证的全流程操作,帮助新手快速掌握VPS服务器上的容器化部署技巧。
一、环境准备
在VPS服务器上使用Docker Compose前,需确认三个基础条件:
1. 操作系统为Ubuntu 18.04及以上版本(Debian系系统兼容性更佳);
2. 已获取root权限(或具备sudo提权能力);
3. VPS服务器网络正常(可通过`ping www.baidu.com`测试连通性)。
二、安装Docker与Docker Compose
第一步更新系统包索引,确保后续安装源最新:
sudo apt update
接着安装HTTPS依赖包,为添加Docker官方仓库做准备:
sudo apt install apt-transport-https ca-certificates curl software-properties-common
添加Docker GPG密钥并设置稳定版仓库(需注意此步骤依赖VPS服务器的网络连通性,国内用户建议选择支持CN2线路的VPS,避免因网络波动导致密钥下载失败):
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
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
再次更新包索引并安装Docker引擎:
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io
最后安装Docker Compose(这里以1.29.2版本为例,可根据需求替换为最新版):
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
验证安装是否成功,输入`docker --version`和`docker-compose --version`,若显示版本号则安装完成。
三、拉取服务镜像
以部署Nginx+MySQL服务为例,使用以下命令拉取最新镜像(若需指定版本,可将`:latest`替换为具体标签,如`nginx:1.23`):
sudo docker pull nginx:latest
sudo docker pull mysql:latest
四、编写Docker Compose文件
在VPS服务器创建项目目录并进入:
mkdir myproject
cd myproject
使用文本编辑器(如nano)创建`docker-compose.yml`文件:
nano docker-compose.yml
文件内容需明确服务依赖、端口映射、环境变量等配置,示例如下(关键参数已标注说明):
version: '3'
services:
nginx:
image: nginx:latest # 指定Nginx镜像
ports:
- "80:80" # 映射宿主机80端口到容器80端口
restart: always # 容器意外退出自动重启
mysql:
image: mysql:latest # 指定MySQL镜像
environment:
MYSQL_ROOT_PASSWORD: yourpassword # 设置root用户密码(需替换为强密码)
volumes:
- mysql-data:/var/lib/mysql # 数据卷持久化存储(避免容器删除后数据丢失)
restart: always
volumes:
mysql-data: # 定义命名卷
五、启动与验证服务
在`docker-compose.yml`所在目录执行启动命令(`-d`参数表示后台运行):
sudo docker-compose up -d
验证Nginx服务:通过浏览器访问VPS服务器公网IP(可通过`curl ifconfig.me`获取),若显示“Welcome to nginx!”则部署成功。
验证MySQL服务:进入MySQL容器并登录(`myproject_mysql_1`为容器默认名称,若项目名修改需同步调整):
sudo docker exec -it myproject_mysql_1 mysql -uroot -p
输入之前设置的密码,成功进入MySQL命令行则服务正常。
通过以上步骤,用户可在VPS服务器上快速完成多容器服务的标准化部署。需注意定期执行`docker-compose down`停止服务,或通过`docker-compose logs`查看运行日志,确保服务长期稳定运行。