教程 rockylinux tutorial

Docker 容器环境

Docker 是现代开发与部署环境的核心组件,能够快速构建、打包与运行应用。
在 Rocky Linux 上安装和配置 Docker 十分简单,以下步骤将帮助你从零开始。

一、安装 Docker

Rocky Linux 默认仓库中不直接提供最新版 Docker,需要从 Docker 官方仓库安装。

1. 移除旧版本

bash
sudo dnf remove docker \
                docker-client \
                docker-client-latest \
                docker-common \
                docker-latest \
                docker-latest-logrotate \
                docker-logrotate \
                docker-engine

2. 安装依赖包

bash
sudo dnf install -y dnf-plugins-core

3. 添加 Docker 官方仓库

bash
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

💡 Rocky Linux 与 CentOS/RHEL 使用相同的软件仓库格式,因此可直接使用该仓库。

4. 安装 Docker 引擎

bash
sudo dnf install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

二、启动 Docker 服务

bash
sudo systemctl enable --now docker

验证是否成功启动:

bash
sudo systemctl status docker

输出中出现 Active: active (running) 即表示正常运行。

三、非 root 用户使用 Docker

默认情况下,只有 root 用户可以运行 Docker。 为了更方便操作,可以将当前用户加入 docker 用户组:

bash
sudo usermod -aG docker $USER

修改后需重新登录才能生效:

bash
newgrp docker

测试是否成功:

bash
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. 检查版本

bash
docker compose version

如果未安装,可手动安装插件:

bash
sudo dnf install -y docker-compose-plugin

2. 创建示例项目

新建一个 docker-compose.yml:

yaml
version: "3.9"
services:
  web:
    image: nginx:latest
    ports:
      - "8080:80"
  db:
    image: mysql:8
    environment:
      MYSQL_ROOT_PASSWORD: example

运行:

bash
docker compose up -d

查看状态:

bash
docker compose ps

六、防火墙与服务端口

如果服务器启用了防火墙,确保开放容器端口(例如 Nginx 的 80 端口):

bash
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。
网络异常或拉取镜像慢 可配置国内镜像源(如阿里云镜像加速)。

配置加速示例:

bash
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 容器环境。