麦克斯仇
Think different
159
文章
35808
阅读
首页
INDEX
文章
ARTICLE
关于
ABOUT
CentOS7 安装 Docker-CE
创建日期:
2020/01/08
修改日期:
2024/06/15
Linux
Docker
- 官方教程:[https://docs.docker.com/engine/install/centos/](https://docs.docker.com/engine/install/centos/) - 阿里教程:[https://developer.aliyun.com/article/110806](https://developer.aliyun.com/article/110806) 不推荐使用,仅用于获取阿里镜像地址 > 注:以下命令使用 `root` 账户 ### 如果之前安装过docker,请先卸载旧版本 ```bash yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine ``` ### 安装所需的软件包 ```bash yum install -y yum-utils ``` ### 添加软件源信息(设置存储库)并更新缓存 设置源(三选一) ```bash # 官方源 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo # 阿里源 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo # 清华源(两步都要执行) yum-config-manager --add-repo https://mirror.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo sed -i 's+https://download.docker.com+https://mirrors.tuna.tsinghua.edu.cn/docker-ce+' /etc/yum.repos.d/docker-ce.repo ``` 更新缓存 ```bash yum makecache fast ``` ### 安装 Docker-CE 安装时可以选择安装最新版或者指定版本,一般安装最新版,若公司内多机器安装时可以统一安装指定版本 #### 安装最新版本 ```bash yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin ``` #### 安装指定版本 查看版本列表 ```bash yum list docker-ce --showduplicates yum list docker-ce-cli --showduplicates yum list containerd.io --showduplicates yum list docker-buildx-plugin --showduplicates yum list docker-compose-plugin --showduplicates ``` 查看到如下类似内容,返回的列表取决于启用了哪些存储库,并且特定于 `CentOS` 版本( `.el7` 在此示例中由后缀表示)。 ``` ... docker-ce.x86_64 3:24.0.0-1.el7 docker-ce-stable docker-ce.x86_64 3:24.0.1-1.el7 docker-ce-stable docker-ce.x86_64 3:24.0.2-1.el7 docker-ce-stable docker-ce.x86_64 3:24.0.3-1.el7 docker-ce-stable docker-ce.x86_64 3:24.0.4-1.el7 docker-ce-stable ... docker-compose-plugin.x86_64 2.17.3-1.el7 docker-ce-stable docker-compose-plugin.x86_64 2.18.1-1.el7 docker-ce-stable docker-compose-plugin.x86_64 2.19.1-1.el7 docker-ce-stable ``` 安装指定版本时通过其完全限定的包名称安装特定版本,即包名称加上版本字符串,再由连字符分隔 - 安装 `docker-ce` 、 `docker-ce-cli` 时,版本号是第二列从第一个冒号开始直到第一个连字符结束,例如 `3:24.0.4-1.el7` 截取后是 `24.0.4` - 安装 `containerd.io` 、 `docker-buildx-plugin` 、 `docker-compose-plugin` ,版本号是第二列从头开始直到第一个连字符结束,例如 `2.19.1-1.el7` 截取后是 `2.19.1` 安装脚本示例如下: ```bash # 举例 yum -y install docker-ce-24.0.4 docker-ce-cli-24.0.4 containerd.io-1.6.21 docker-buildx-plugin-0.11.1 docker-compose-plugin-2.19.1 ``` #### 更新版本 命令同安装命令 ### 修改cgroupdriver & 修改日志文件记录方式 & 使用容器镜像服务 - `docker` 默认使用的文件驱动是 `cgroups` ,如果后期使用 `k8s` 时需要修改为 `Systemd` ,而且 `Systemd` 更强大<br>参考文档:[Cgroups 与 Systemd](https://www.cnblogs.com/sparkdev/p/9523194.html "Cgroups 与 Systemd") - 日志文件官方教程:[JSON File logging driver](https://docs.docker.com/config/containers/logging/json-file/ "JSON File logging driver") 创建文件夹 ```bash mkdir -p /etc/docker ``` 编辑配置文件 ```bash vim /etc/docker/daemon.json ``` 修改为如下内容 ``` { "exec-opts": ["native.cgroupdriver=systemd"], "log-driver": "json-file", "log-opts": { "max-size": "10m", "max-file": "3" } } ``` 刷新 ```bash systemctl daemon-reload ``` ### 开启 Docker 服务,开启开机自启 ```bash systemctl start docker systemctl enable docker ``` ### 运行 hello-world 验证是否正确安装 执行以下脚本 ```bash docker run hello-world ``` 查看到如下类似内容 ``` Hello from Docker! This message shows that your installation appears to be working correctly. To generate this message, Docker took the following steps: 1. The Docker client contacted the Docker daemon. 2. The Docker daemon pulled the "hello-world" image from the Docker Hub. (amd64) 3. The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading. 4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal. To try something more ambitious, you can run an Ubuntu container with: $ docker run -it ubuntu bash Share images, automate workflows, and more with a free Docker ID: https://hub.docker.com/ For more examples and ideas, visit: https://docs.docker.com/get-started/ ```
348
全部评论