在华为云 EulerOS 上从零部署 Docker:完整实践与避坑指南

举报
yd_252044305 发表于 2026/10/23 13:03:24 2026/10/23
【摘要】 一、环境准备在开始之前,先确认你的实验或生产环境满足以下条件:一台运行 Huawei Cloud EulerOS 2.0(HCE OS)的弹性云服务器 ECS,规格建议 1vCPUs / 2GiB 以上;已绑定弹性公网 IP,安全组入方向放行 SSH(22)端口;具备 root 或 sudo 权限,且 yum 源可正常访问。先做一次系统更新,避免后续依赖版本冲突:sudo yum updat...

一、环境准备

在开始之前,先确认你的实验或生产环境满足以下条件:

  • 一台运行 Huawei Cloud EulerOS 2.0(HCE OS)的弹性云服务器 ECS,规格建议 1vCPUs / 2GiB 以上;
  • 已绑定弹性公网 IP,安全组入方向放行 SSH(22)端口;
  • 具备 root 或 sudo 权限,且 yum 源可正常访问。

先做一次系统更新,避免后续依赖版本冲突:

sudo yum update -y
cat /etc/system-release

二、安装 Docker 引擎

HCE OS 基于 openEuler 构建,软件源中已内置 Docker 相关包,直接用 yum 安装即可:

sudo yum install -y docker-engine

安装完成后启动服务并设置为开机自启:

sudo systemctl start docker
sudo systemctl enable docker
systemctl status docker

看到 Active: active (running) 即表示 Docker 守护进程已正常运行。

三、配置镜像加速器

默认从 Docker Hub 拉取镜像在国内网络下往往较慢,建议配置华为云 SWR 镜像加速器。编辑配置文件:

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://.mirror.swr.myhuaweicloud.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

镜像加速器地址需要替换成你在华为云容器镜像服务 SWR 控制台生成的专属地址,每个账号不同。

四、验证安装结果

运行官方的测试镜像,确认整条链路通畅:

sudo docker run hello-world
sudo docker images
sudo docker ps -a

如果能看到 “Hello from Docker!” 的输出,说明安装、镜像拉取、容器运行三个环节全部正常。

五、常见问题与避坑

1. 容器内无法访问外网

通常是 IP 转发未开启。编辑 /etc/sysctl.conf,添加 net.ipv4.ip_forward=1,然后执行 sysctl -p 生效,并重启 Docker 服务。

2. 镜像拉取超时

优先检查 daemon.json 的镜像加速器地址是否正确、JSON 格式是否合法(常见的错误是末尾多了逗号)。修改后必须 systemctl restart docker。

3. 非 root 用户执行 docker 报权限错误

把当前用户加入 docker 组即可:sudo usermod -aG docker $USER,重新登录后生效。注意这等同于赋予该用户 root 级别的权限,生产环境需谨慎。

4. 磁盘空间被占满

长期使用后,停止的容器、悬空镜像和构建缓存会占用大量空间,可定期清理:

sudo docker system prune -a

六、小结

在华为云 EulerOS 上部署 Docker 整体非常顺畅,核心就三步:装包、配加速器、验证。真正容易踩坑的地方集中在镜像加速器配置和网络转发两个点上。把这两处处理好,后续无论是部署 Web 应用还是做 CI/CD 构建,都能有一个稳定的底座。

## 一、环境准备


在开始之前,先确认你的实验或生产环境满足以下条件:


- 一台运行 **Huawei Cloud EulerOS 2.0**(HCE OS)的弹性云服务器 ECS,规格建议 1vCPUs / 2GiB 以上

- 已绑定弹性公网 IP,安全组入方向放行 SSH(22)端口

- 具备 root 或 sudo 权限,且 yum 源可正常访问


先做一次系统更新,避免后续依赖版本冲突:


```bash

sudo yum update -y

cat /etc/system-release

```


## 二、安装 Docker 引擎


HCE OS 基于 openEuler 构建,软件源中已内置 Docker 相关包,直接用 yum 安装即可:


```bash

sudo yum install -y docker-engine

```


安装完成后启动服务并设置为开机自启:


```bash

sudo systemctl start docker

sudo systemctl enable docker

systemctl status docker

```


看到 `Active: active (running)` 即表示 Docker 守护进程已正常运行。


## 三、配置镜像加速器


默认从 Docker Hub 拉取镜像在国内网络下往往较慢,建议配置华为云 SWR 镜像加速器。编辑配置文件:


```bash

sudo mkdir -p /etc/docker

sudo tee /etc/docker/daemon.json <<-'EOF'

{

  "registry-mirrors": ["https://<your-id>.mirror.swr.myhuaweicloud.com"]

}

EOF

sudo systemctl daemon-reload

sudo systemctl restart docker

```


> 镜像加速器地址需要替换成你在华为云容器镜像服务 SWR 控制台生成的专属地址,每个账号不同。


## 四、验证安装结果


运行官方的测试镜像,确认整条链路通畅:


```bash

sudo docker run hello-world

sudo docker images

sudo docker ps -a

```


如果能看到 “Hello from Docker!” 的输出,说明安装、镜像拉取、容器运行三个环节全部正常。


## 五、常见问题与避坑


### 1. 容器内无法访问外网


通常是 IP 转发未开启。编辑 `/etc/sysctl.conf`,添加 `net.ipv4.ip_forward=1`,然后执行 `sysctl -p` 生效,并重启 Docker 服务。


### 2. 镜像拉取超时


优先检查 daemon.json 的镜像加速器地址是否正确、JSON 格式是否合法(常见错误是末尾多了逗号)。修改后必须执行 `systemctl restart docker`。


### 3. 非 root 用户执行 docker 报权限错误


把当前用户加入 docker 组即可:`sudo usermod -aG docker $USER`,重新登录后生效。注意这等同于赋予该用户 root 级别的权限,生产环境需谨慎。


### 4. 磁盘空间被占满


长期使用后,停止的容器、悬空镜像和构建缓存会占用大量空间,可定期清理:


```bash

sudo docker system prune -a

```


## 六、小结


在华为云 EulerOS 上部署 Docker 整体非常顺畅,核心就三步:装包、配加速器、验证。真正容易踩坑的地方集中在**镜像加速器配置**和**网络转发**两个点上。把这两处处理好,后续无论是部署 Web 应用还是做 CI/CD 构建,都能有一个稳定的底座。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。