浅浅记录一下第一次使用华为云配置docker的步骤,或许之后会找到更加优秀的方式解决。
略去购买华为云步骤(安全组是本身就有的,根据实际情况添加)根据华为云操作指引进行(我这里是通过Xshell远程连接了华为云)
先远程登录华为云(我使用的是Ubuntu 24.04.3)
下载docker
🐳 第一步:更新系统并安装依赖
在安装Docker之前,我们先确保系统里的软件列表是最新的,并安装一些必要的工具。
- 更新软件包列表
apt update
运行结果如下
- 安装一些让后续操作更顺利的依赖工具
apt install -y apt-transport-https ca-certificates curl software-properties-common
运行结果如下
🔑 第二步:添加Docker的官方“钥匙”
这一步是为了让系统信任我们从Docker官方下载的软件,确保安全。
- 添加Docker官方的GPG密钥(相当于一把验证真伪的钥匙)
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
运行结果如下
【这里的警告是说:apt-key命令将来会被淘汰,因为Ubuntu 24.04比较新,apt-key确实已经被标记为弃用,但不影响Docker的安装】
4. 添加Docker的软件仓库(告诉系统去哪里下载Docker)
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
运行如下
按一下回车键(Enter),让系统继续添加Docker仓库(结果如下)
🚀 第三步:安装Docker
现在可以正式安装Docker了。我们安装的是社区版,完全免费且功能强大。
- 再次更新软件包列表(这样系统才能找到刚添加的Docker仓库里的软件)
apt update
6. 安装Docker本身和一些必要的组件
apt install -y docker-ce docker-ce-cli containerd.io
运行如下
⚙️ 第四步:启动Docker并设置开机自启
安装好后,我们需要启动Docker服务,并让它以后每次服务器开机都自动运行。
- 启动Docker服务
systemctl start docker
8. 设置Docker开机自启
systemctl enable docker
运行结果
🎉 第五步:验证安装
最后,我们来检查一下Docker是否安装成功。
- 查看Docker版本,如果能显示出版本号,就说明安装成功啦!
docker --version
运行结果
- 也可以运行测试容器(感觉一般用docker都有这一步呢(((φ(◎ロ◎;)φ))))
docker run hello-world
此环节报错
遇到了连接 Docker Hub 超时的问题。这是由于网络无法访问 Docker Hub 导致的
解决(踩坑ing)
配置 Docker 镜像加速器(对于 Docker Engine v25.00 及以上版本)
编辑 Docker 配置文件:
mkdir -p /etc/docker #创建文件夹
vim /etc/docker/daemon.json #添加并打开配置文件(进入vim编辑器,先按i/a/o 进入插入,然后粘贴下面内容后点击esc,之后输入':wq'保存并退出文件)
添加以下内容(使用国内镜像加速器):
{
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn",
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com"
]
}
重启 Docker 服务
systemctl daemon-reload
systemctl restart docker
验证配置
docker info | grep "Registry Mirrors" -A 5
结果如下:镜像加速器已经配置成功了
现在测试一下是否能够正常拉取镜像
docker pull hello-world #尝试拉取hello-world镜像
发现中科大(USTC)的这个镜像源域名当前不可用(有可能吧)
由于笨人不太熟悉华为云的界面还有没找到华为云的镜像加速的地方(😢大家有更好的方法可以用别的)
解决
将镜像加速器换为"https://docker.m.daocloud.io"
# 备份当前配置
sudo cp /etc/docker/daemon.json /etc/docker/daemon.json.bak.final
# 创建正确的配置文件(删除 disable-legacy-registry)
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://docker.m.daocloud.io"],
"insecure-registries": [],
"max-concurrent-downloads": 3,
"max-concurrent-uploads": 3
}
EOF
启动docker服务
# 重新加载配置
sudo systemctl daemon-reload
# 启动 Docker
sudo systemctl start docker
# 设置开机自启
sudo systemctl enable docker
# 查看状态
sudo systemctl status docker --no-pager
查看镜像源配置
docker info | grep "Registry Mirrors" -A 2
测试拉取hello-world
docker pull hello-world
终于拉取成功了/(ㄒoㄒ)/~~
运行hello-world成功/(ㄒoㄒ)/~~ 【迈出第一步/(ㄒoㄒ)/~~ 】