DMIT VPS 安装 Docker 与 Docker Compose 教程
概述
Docker 是现代应用部署的标准工具,本教程介绍如何在 DMIT VPS 上安装 Docker 和 Docker Compose,并运行你的第一个容器。
安装 Docker
使用官方安装脚本(最简单的方式):
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
或手动安装(Debian/Ubuntu):
# 安装依赖
sudo apt install -y ca-certificates curl gnupg
# 添加 Docker GPG 密钥
sudo install -m 0755 -d /etc/apt/keyrings
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
# 安装 Docker
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
配置 Docker
# 启动并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker
# 将当前用户加入 docker 组(避免每次都加 sudo)
sudo usermod -aG docker $USER
# 重新登录或执行以下命令使组生效
newgrp docker
验证安装
docker --version
docker run hello-world
看到 "Hello from Docker!" 说明安装成功。
安装 Docker Compose
如果使用上述官方脚本安装,Docker Compose 已包含在内(作为 docker compose 插件)。
验证:
docker compose version
运行示例应用:Nginx
# 拉取并运行 Nginx 容器
docker run -d -p 80:80 --name my-nginx nginx
# 查看运行中的容器
docker ps
# 停止容器
docker stop my-nginx
# 删除容器
docker rm my-nginx
使用 Docker Compose 部署多服务应用
创建 docker-compose.yml:
version: '3.8'
services:
web:
image: nginx:alpine
ports:
- "80:80"
volumes:
- ./html:/usr/share/nginx/html
restart: unless-stopped
portainer:
image: portainer/portainer-ce
ports:
- "9000:9000"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- portainer_data:/data
restart: unless-stopped
volumes:
portainer_data:
启动所有服务:
docker compose up -d
常用 Docker 命令
# 查看所有容器
docker ps -a
# 查看容器日志
docker logs 容器名
# 进入容器 Shell
docker exec -it 容器名 bash
# 查看镜像列表
docker images
# 清理不用的镜像和容器
docker system prune -a
推荐工具:Portainer
Portainer 是一个图形化 Docker 管理界面,可以通过浏览器管理容器,适合不熟悉命令行的用户:
docker run -d -p 9000:9000 \
--name portainer \
--restart always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
portainer/portainer-ce
访问 http://你的IP:9000 即可使用图形界面。