Docker 容器环境
Docker 是现代开发与部署环境的核心组件,能够快速构建、打包与运行应用。
在 Rocky Linux 上安装和配置 Docker 十分简单,以下步骤将帮助你从零开始。
一、安装 Docker
Rocky Linux 默认仓库中不直接提供最新版 Docker,需要从 Docker 官方仓库安装。
1. 移除旧版本
sudo dnf remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2. 安装依赖包
sudo dnf install -y dnf-plugins-core
3. 添加 Docker 官方仓库
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
💡 Rocky Linux 与 CentOS/RHEL 使用相同的软件仓库格式,因此可直接使用该仓库。
4. 安装 Docker 引擎
sudo dnf install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
二、启动 Docker 服务
sudo systemctl enable --now docker
验证是否成功启动:
sudo systemctl status docker
输出中出现 Active: active (running) 即表示正常运行。
三、非 root 用户使用 Docker
默认情况下,只有 root 用户可以运行 Docker。
为了更方便操作,可以将当前用户加入 docker 用户组:
sudo usermod -aG docker $USER
修改后需重新登录才能生效:
newgrp docker
测试是否成功:
docker ps
四、Docker 基本命令
| 操作 | 命令 | 说明 |
|---|---|---|
| 查看 Docker 版本 | docker --version |
显示已安装的 Docker 版本 |
| 启动容器 | docker run -d -p 80:80 nginx |
后台运行 Nginx 容器 |
| 查看容器 | docker ps -a |
显示所有容器 |
| 停止容器 | docker stop <容器ID> |
停止指定容器 |
| 删除容器 | docker rm <容器ID> |
删除容器 |
| 删除镜像 | docker rmi <镜像名> |
删除镜像 |
| 构建镜像 | docker build -t myapp . |
从当前目录构建镜像 |
| 查看日志 | docker logs -f <容器ID> |
实时查看容器日志 |
五、Docker Compose 安装与使用
Docker Compose 允许使用 YAML 文件管理多个容器服务。
1. 检查版本
docker compose version
如果未安装,可手动安装插件:
sudo dnf install -y docker-compose-plugin
2. 创建示例项目
新建一个 docker-compose.yml:
version: "3.9"
services:
web:
image: nginx:latest
ports:
- "8080:80"
db:
image: mysql:8
environment:
MYSQL_ROOT_PASSWORD: example
运行:
docker compose up -d
查看状态:
docker compose ps
六、防火墙与服务端口
如果服务器启用了防火墙,确保开放容器端口(例如 Nginx 的 80 端口):
sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --reload
七、常见问题排查
| 问题 | 解决方法 |
|---|---|
Cannot connect to the Docker daemon |
确认 Docker 服务正在运行;若非 root 用户,请添加至 docker 组。 |
permission denied while trying to connect to the Docker daemon socket |
重新登录或执行 newgrp docker。 |
| 网络异常或拉取镜像慢 | 可配置国内镜像源(如阿里云镜像加速)。 |
配置加速示例:
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://mirror.aliyun.com"]
}
EOF
sudo systemctl restart docker
八、总结
- Docker 提供轻量级虚拟化环境,适合快速部署与测试。
- 推荐结合 Docker Compose 管理多服务项目。
- 生产环境可进一步使用 Podman 或 Kubernetes 进行容器编排。
🚀 提示:Rocky Linux 作为 RHEL 兼容系统,与企业级容器平台完全兼容,可无缝运行 Docker 或 Podman 容器环境。
相关内容
- 备份与恢复 本文介绍如何在 Rocky Linux 系统中执行数据与系统的备份与恢复,包括 rsync、tar、Timeshift、快照与自动化定时任务等多种方法。
- Rocky Linux 与 RHEL 的区别 详细分析 Rocky Linux 与 Red Hat Enterprise Linux (RHEL) 的区别,包括开发背景、兼容性、更新策略、社区支持和企业使用...
- 定时任务(cron) 本文详细介绍 Rocky Linux 中使用 cron 定时任务的配置方法,包括 crontab 基础语法、系统任务调度、日志管理与常见问题排查。
- 数据库服务(MySQL / PostgreSQL) 在 Rocky Linux 中安装和配置 MySQL 与 PostgreSQL 数据库服务,涵盖安装命令、防火墙配置、开机自启和基础安全设置。
- Python 与 Node.js 环境配置 在 Rocky Linux 中安装与管理 Python、pip、Node.js 与 npm 环境,涵盖多版本管理、全局模块安装、国内源配置等实用技巧。
- 磁盘与分区管理(lsblk、fdisk) 详细介绍 Rocky Linux 中使用 lsblk 和 fdisk 工具进行磁盘和分区管理的方法,包括查看磁盘信息、创建分区、删除分区等操作