Rocky Linux 环境运行Docker
Rocky Linux作为CentOS的后继者,部署 Docker Engine 方法和 在CentOS 8上安装Docker CE 类似。我的实践环境是阿里云的Rocky Linux 9.4,目标如下:
在云计算厂商的云服务器(虚拟机)使用最基本的操作系统,通过Docker容器化运行一个远程开发环境,方便我在任何时间任何地点都能够远程移动进行开发学习
通过容器化部署来实现一些服务部署,逐步逐步开始落实 Real 中曾经设想过得方案
备注
对于数字游牧,,一个一致都随时可用都工作环境非常重要。我的工作中使用了非常多的不同二手设备,所以我一直在探索如何能够达到远程和本地、租用VPS和自建服务器的性能和经济性平衡。
添加Docker仓库
使用 DNF包管理器 工具在Rocky Linux系统中添加Docker软件仓库:
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
执行以下命令安装最新版本的 Docker Engine, containerd运行时(runtime) 以及Docker Compose:
sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-compose-plugin
对于中国大陆用户, 不出意外
的 意外 会看到如下无法访问 *.docker.com
报错:
Docker CE Stable - x86_64 0.0 B/s | 0 B 00:00
Errors during downloading metadata for repository 'docker-ce-stable':
- Curl error (35): SSL connect error for https://download.docker.com/linux/centos/9/x86_64/stable/repodata/repomd.xml [OpenSSL SSL_connect: Connection reset by peer in connection to download.docker.com:443 ]
Error: Failed to download metadata for repo 'docker-ce-stable': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried
另外,阿里云提供的rocky linux直接将软件仓库设置为阿里云自己的镜像网站,一旦配置 DNF代理 会导致反向访问阿里云仓库过于缓慢甚至无法正常使用的问题,所以需要修订 /etc/yum.repos.d
目录下的仓库配置,将阿里云相关的 baseurl
注释掉,恢复默认的 mirrorlist
(以下是 rocky.repo
配置修改案例:
mirrorlist
[baseos]
name=Rocky Linux $releasever - BaseOS
mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=BaseOS-$releasever$rltype
#baseurl=http://mirrors.cloud.aliyuncs.com/rockylinux/$releasever/BaseOS/$basearch/os/
...
可以通过以下脚本命令批量修改:
mirrorlist
cd /etc/yum.repos.d
for file in rocky-addons.repo rocky-devel.repo rocky-extras.repo rocky.repo; do
sed -i 's/baseurl=/#baseurl=/g' $file
sed -i 's/#mirrorlist=/mirrorlist=/g' $file
done
这样使用官方仓库配置(通过mirrorlist找到最匹配仓库服务器)就能够同时满足翻墙访问Docker和RockyLinux仓库的要求了
运行Docker
通过 Systemd进程管理器 启动并配置Docker在操作系统启动时启动:
sudo systemctl --now enable docker
(可选)配置非root用户管理docker
为了方便维护,可以设置非root用户来管理docker,即将该用户账号添加到 docker
用户组:
# 添加当前用户给予管理docker权限
# 通常只需要执行这句(我只执行这句命令)
sudo usermod -a -G docker $(whoami)
# 添加指定用户给予管理docker权限
sudo usermod -a -G docker custom-user
完成后用户重新登陆,即使是普通用户账号也能够管理docker
下一步
请参考 Colima 代理 排斥代理(解决无法访问docker官方镜像仓库问题)
请参考 Debian镜像(tini进程管理器) 完成镜像制作和容器运行