温馨提示×

怎样用centos管docker

小樊
35
2026-10-17 10:47:32
栏目: 智能运维

在 CentOS 上“管 Docker”一般包括:安装 Docker、启动/停止、设置开机自启、镜像和容器管理、权限与防火墙、常用排错。下面按实用流程讲。


一、在 CentOS 上安装 Docker

1. 系统要求

  • CentOS 7 / 8 / Stream 均可
  • 建议使用 root 或具有 sudo 权限的用户

2. 卸载旧版本(如有)

sudo yum remove docker \
    docker-client \
    docker-client-latest \
    docker-common \
    docker-latest \
    docker-latest-logrotate \
    docker-logrotate \
    docker-engine

3. 安装依赖

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

4. 添加 Docker 官方源

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

5. 安装 Docker

sudo yum install -y docker-ce docker-ce-cli containerd.io

二、启动和管理 Docker 服务

启动 Docker

sudo systemctl start docker

设置开机自启

sudo systemctl enable docker

查看状态

sudo systemctl status docker

停止 / 重启

sudo systemctl stop docker
sudo systemctl restart docker

三、免 sudo 使用 Docker(推荐)

默认只有 root 能运行 docker 命令。

sudo usermod -aG docker $USER

执行后必须重新登录

验证:

docker version

四、镜像管理

搜索镜像

docker search nginx

拉取镜像

docker pull nginx:latest

查看本地镜像

docker images

删除镜像

docker rmi nginx

五、容器管理(最常用)

运行容器

docker run -d -p 8080:80 --name mynginx nginx

参数说明:

  • -d:后台运行
  • -p:端口映射
  • --name:容器名

查看运行中的容器

docker ps

查看所有容器

docker ps -a

停止 / 启动 / 删除

docker stop mynginx
docker start mynginx
docker rm mynginx

查看日志

docker logs -f mynginx

六、CentOS 防火墙注意

如果外部访问不了容器端口:

sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
sudo firewall-cmd --reload

或在测试环境可直接关闭防火墙(不推荐生产):

sudo systemctl stop firewalld

七、Docker 开机自动启动容器

运行容器时加:

docker run -d --restart=always --name mynginx nginx

八、卸载 Docker(如需)

sudo yum remove docker-ce docker-ce-cli containerd.io
sudo rm -rf /var/lib/docker

九、常见问题速查

1. Cannot connect to the Docker daemon

  • Docker 没启动
sudo systemctl start docker

2. 权限拒绝

Got permission denied while trying to connect to Docker daemon
  • 加用户到 docker 组并重新登录

3. 磁盘空间不足

docker system prune -a

如果你愿意,我可以:

  • 给你一份 CentOS + Docker 常用命令速查表
  • 或教你 用 docker-compose 管理多个容器
  • 或讲 CentOS 上 Docker 与 SELinux 的坑

你主要用 Docker 来做什么?

0 踩