
Docker 全面教程:从安装到 Compose 编排
一、Docker 安装与配置
1. 卸载旧版本(如有)
bash
sudo apt remove docker docker-engine docker.io containerd runc
2. 安装依赖工具
bash
sudo apt update
sudo apt install -y ca-certificates curl gnupg
3. 添加 Docker 官方 GPG 密钥
bash
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
sudo chmod a+r /etc/apt/keyrings/docker.gpg
4. 添加 Docker 源
bash
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
5. 安装 Docker 引擎
bash
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
6. 验证安装
bash
sudo docker run hello-world
✅ 出现 Hello from Docker!
表示成功
二、Docker 基本配置
1. 允许非 root 用户操作 Docker
bash
sudo usermod -aG docker $USER
newgrp docker # 立即生效(或重新登录)
2. 配置国内镜像加速(阿里云)
bash
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://xxxxxx.mirror.aliyuncs.com"]
}
EOF
ℹ️ 替换
xxxxxx
为阿里云容器镜像服务提供的专属加速地址
3. 重启 Docker 服务
bash
sudo systemctl daemon-reload
sudo systemctl restart docker
三、Docker Compose 安装与使用
1. 安装 Docker Compose(如未自动安装)
bash
sudo apt install docker-compose-plugin
2. 验证安装
bash
docker compose version
✅ 输出类似:Docker Compose version v2.25.0
3. 创建示例项目(Nginx + MySQL)
bash
mkdir ~/myapp && cd ~/myapp
nano docker-compose.yml
docker-compose.yml 内容:
yaml
version: '3.8'
services:
web:
image: nginx:alpine
ports:
- "80:80"
volumes:
- ./html:/usr/share/nginx/html
depends_on:
- db
db:
image: mysql:8.0
environment:
MYSQL_ROOT_PASSWORD: secure_password
MYSQL_DATABASE: app_db
volumes:
- mysql_data:/var/lib/mysql
volumes:
mysql_data:
4. 启动服务栈
bash
docker compose up -d
✅ 访问 http://服务器IP
查看 Nginx 欢迎页
四、Docker 常用命令速查表
🐳 镜像管理
📦 容器管理
🔄 生命周期管理
五、Docker Compose 常用命令速查表
六、关键目录说明
text
/var/lib/docker # Docker 主目录
├── containers/ # 容器数据
├── images/ # 镜像存储
├── volumes/ # 卷数据
└── networks/ # 网络配置
/etc/docker # 配置文件目录
├── daemon.json # Docker 守护进程配置
└── key.json # 认证密钥
/var/run/docker.sock # Docker API 通信 Socket
七、安全建议
避免使用 root 权限:
bash
docker run --user 1000:1000 myapp
限制容器资源:
yaml
# docker-compose.yml 示例 services: web: cpus: "1.0" mem_limit: 512m memswap_limit: 1g
定期更新镜像:
bash
docker compose pull && docker compose up -d --force-recreate
启用内容信任:
bash
export DOCKER_CONTENT_TRUST=1
💡 提示:生产环境建议使用
docker scan
扫描镜像漏洞
通过本教程,您已掌握 Docker 核心操作和 Compose 编排技巧。建议结合 Docker 官方文档 深入学习高级功能!
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 达达
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果