Homelab Step 1 - Install Docker
在 CentOS 8 上安装 Docker。参考官网文档。
https://docs.docker.com/engine/install/centos/
这里使用官方推荐的方法进行安装并记录一下步骤。
Table of Contents
设置仓库
安装 yum-utils
,使用其中的 yum-config-manage
工具将 docker 的 repo 添加到仓库。
sudo yum install -y yum-utils |
安装 Docker Engine
接着直接安装必要的组件。
sudo yum install docker-ce docker-ce-cli containerd.io |
安装过程中可能提示接受 GPG key,出于风险考虑先确认提示的指纹是否和下面匹配。
060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35
指纹也许会变,到 https://docs.docker.com/engine/install/centos/ 确认最新信息。
安装过程可能会出现下面的失败信息。
sudo yum install docker-ce docker-ce-cli containerd.io |
这时可能是
container-tools
依赖了低版本的containerd.io
导致的,可以通过下面的命令禁用container-tools
解决。
yum module disable container-tools |
启动 Docker Engine
使用下面命令启动 Docker。
sudo systemctl start docker |
如果希望使用其他非 root 用户运行 Docker,将其添加到
docker
用户组。
sudo usermod -aG docker richard |
防火墙设置
CentOS 8 不再对 Docker 进行官方支持,而是扶持了 buildah 和 podman 提供类似的功能。但是显然目前 Docker 的地位依然无法被取代。
Docker 安装完成后还需要对防火墙进行设置,允许容器访问外部网络。
默认情况下在 CentOS 8 上运行的容器从内部无法访问外部网络,具体表现为 DNS 解析出错 or ‘no route to host’。
firewall-cmd --permanent --zone=trusted --add-interface=docker0 |
设置完成应该即时生效。(建议 reboot)
(Optional) 安装 docker-compose
按需安装。使用下面命令安装 docker-compose。
sudo curl -L "https://github.com/docker/compose/releases/download/1.26.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose |
参考。
https://docs.docker.com/compose/install/
结束。