Docker命令在CentOS上有哪些不同
导读:Docker命令在 CentOS 上的差异与注意点 一 系统层面命令差异 包管理与安装命令不同:在 CentOS 上安装 Docker 使用 yum/dnf 与官方仓库,例如:sudo yum install -y yum-utils d...
Docker命令在 CentOS 上的差异与注意点
一 系统层面命令差异
- 包管理与安装命令不同:在 CentOS 上安装 Docker 使用 yum/dnf 与官方仓库,例如:sudo yum install -y yum-utils device-mapper-persistent-data lvm2,随后 sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo,再安装 sudo yum install -y docker-ce docker-ce-cli containerd.io;而在 Ubuntu 上使用的是 apt 系列命令。这是最常见的“命令不同”。
- 服务管理命令相同:无论 CentOS 还是 Ubuntu,Docker 都作为 systemd 服务管理,常用命令为 sudo systemctl start docker、sudo systemctl enable docker、sudo systemctl status docker。
- 容器内的包管理不同:基于 CentOS 的容器应使用 yum 安装软件;基于 Ubuntu 的容器使用 apt-get。这会影响你在 docker exec -it < 容器> 之后执行的安装命令。
二 Docker 行为与命令使用上的差异
- 前台进程与 -it 的必要性:官方 centos 镜像的默认命令是 /bin/bash。直接执行 docker run centos 会因为没有终端输入而立即退出,因此通常需要加上 -it 进入交互式终端;而 nginx 镜像的默认命令以前台方式运行(nginx -g ‘daemon off; ’),不加 -it 也能保持运行。
- 让 CentOS 容器后台保持运行:若希望容器在后台持续运行,可使用前台进程,例如 docker run -d centos tail -f /dev/null,随后再 docker exec -it bash 进入。
- 进入容器的常用方式:优先使用 docker exec -it < 容器> /bin/bash 进入已运行容器;也可用 docker attach,但 attach 会直接附着到容器的主进程,退出可能导致容器停止,使用上不及 exec 灵活。
三 版本与替代方案带来的差异
- 版本与默认存储驱动:在 CentOS 7/8/9 的演进中,Docker 版本与默认存储驱动逐步升级,常见为 overlay2;同时 CentOS 9 原生更强调 Podman 生态,但 Docker 命令在 CLI 层面保持兼容。
- 安装包拆分:现代 Docker 在 CentOS 上通常拆分为 docker-ce / docker-ce-cli / containerd.io 三个包,这是与一些更早期或非官方打包方式的主要差异点。
- 系统差异导致的命令习惯:在 CentOS 主机上,新建的非 root 用户默认可能没有 sudo 权限,需要先在 /etc/sudoers 中授权;这与 Ubuntu 常见做法不同,会影响你执行 docker 命令时的权限获取方式。
四 常见命令对照与示例
| 场景 | CentOS 主机 | 容器为 CentOS | 容器为 Ubuntu |
|---|---|---|---|
| 安装 Docker | sudo yum install -y docker-ce docker-ce-cli containerd.io | — | — |
| 启动/开机自启 | sudo systemctl start docker;sudo systemctl enable docker | — | — |
| 运行交互式 CentOS | docker run -it centos /bin/bash | — | — |
| 让 CentOS 容器后台常驻 | docker run -d centos tail -f /dev/null | — | — |
| 容器内安装软件 | — | yum install -y < 包> | apt-get update & & apt-get install -y < 包> |
| 进入运行中容器 | — | docker exec -it /bin/bash | docker exec -it /bin/bash |
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Docker命令在CentOS上有哪些不同
本文地址: https://pptw.com/jishu/758607.html
