CentOS 7 安装 Docker 2024-07-20 记录 暂无评论 149 次阅读 ## CentOS 7 安装 Docker 要在 CentOS 7 上安装 Docker,请按照以下步骤操作: **注意:Docker 在 CentOS 7 中已不再推荐使用,因为它已被 Docker 的继任者 Moby 替代。不过,以下是安装 Docker 的传统方法。** 1. 更新系统包管理器: ```bash sudo yum update ``` 2. 安装 Docker 依赖包: ```bash sudo yum install -y yum-utils device-mapper-persistent-data lvm2 ``` 3. 添加 Docker 存储库: ```bash sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo ``` 4. 安装 Docker: ```bash sudo yum install docker-ce ``` 5. 启动 Docker 服务并设置开机自启动: ```bash sudo systemctl start docker sudo systemctl enable docker ``` 6. 验证 Docker 是否正确安装: ```bash sudo docker --version ``` 这些步骤将安装 Docker 并将其设置为自动启动。您可以使用 `docker --version` 命令来检查 Docker 的版本信息。 如果您想让某个用户能够运行 Docker 命令,可以将该用户添加到 `docker` 组: ```bash sudo usermod -aG docker your_username ``` 请替换 `your_username` 为您要添加到 `docker` 组的用户名。然后,您需要注销并重新登录以应用组成员更改。 请注意,Docker 现在已经逐渐被 Containerd 和 Podman 等替代方案所取代,因此您也可以考虑使用这些替代方案来管理容器。 ## 安装 Docker Compose 要在 CentOS 7 上安装 Docker Compose,请按照以下步骤操作: 1. 首先,确保已经安装了 Docker。如果您还没有安装 Docker,请按照之前的步骤安装 Docker。 2. 下载 Docker Compose 二进制文件: ```bash sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose ``` 这将下载最新版本的 Docker Compose 二进制文件并保存到 `/usr/local/bin` 目录中。 3. 授权 Docker Compose 二进制文件以执行权限: ```bash sudo chmod +x /usr/local/bin/docker-compose ``` 4. 验证 Docker Compose 是否已正确安装: ```bash docker-compose --version ``` 这将显示 Docker Compose 的版本信息,确认安装是否成功。 现在,您已经成功安装了 Docker Compose。您可以使用 `docker-compose` 命令来管理 Docker 容器的多容器应用程序。如果您要使用 Docker Compose 来定义和运行多容器应用程序,请编写一个 `docker-compose.yml` 文件,并使用 `docker-compose up` 命令来启动应用程序。 ## 解决 Docker 容器启动顺序问题 如果是家里的电脑服务安装了 Docker,然后 Docker 的容器还依赖了挂载的磁盘,那么这里会出现一个问题,容器启动了,并自动生成了挂载目录,或者是没有挂载目录导致 Docker 容器没有启动。 为了解决这个容器比挂载目录还要快的问题,我们可以修改 Docker 服务的启动条件。假设我挂载的目录是 `/media/mufeng/a`,您可以通过修改 `docker.service` 文件来添加对该目录挂载的依赖。以下是如何步骤化地完成这一需求: 1. **打开 `docker.service` 文件进行编辑**: 首先,需要用有管理员权限的编辑器打开 `docker.service` 文件。您可以使用 `sudo` 命令结合您喜欢的文本编辑器,例如使用 `nano`: ```bash sudo nano /lib/systemd/system/docker.service ``` 2. **修改 [Unit] 部分添加挂载依赖**: 在 `[Unit]` 段落中,您可以添加一个 `RequiresMountsFor=` 选项来指定 Docker 服务启动前必须已经挂载的目录。在这个案例中,您应该添加 `/media/mufeng/a`: ```ini [Unit] Description=Docker Application Container Engine Documentation=https://docs.docker.com After=network-online.target firewalld.service Wants=network-online.target RequiresMountsFor=/media/mufeng/a ``` 这里 `RequiresMountsFor=` 确保了在启动 Docker 服务之前,`/media/mufeng/a` 目录已经被挂载。 3. **重新加载 systemd 的配置**: 修改完毕后,需要重新加载 systemd 的配置以使改动生效: ```bash sudo systemctl daemon-reload ``` 4. **重启 Docker 服务进行测试**: 为了测试您的配置是否正确,可以尝试重启 Docker 服务: ```bash sudo systemctl restart docker ``` 检查 Docker 服务的状态确保它正常运行: ```bash sudo systemctl status docker ``` 通过这些步骤,您可以确保每次系统重启后,只有在 `/media/mufeng/a` 目录成功挂载后,Docker 服务才会启动。这样可以避免在所依赖的挂载目录未准备好的情况下启动服务可能导致的问题。 打赏: 微信, 支付宝 标签: docker, centos 本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。