在华为云 ECS(EulerOS)上快速上手 Docker:从安装到跑起第一个容器

举报
yd_242290379 发表于 2026/10/21 21:00:50 2026/10/21
【摘要】 最近在华为云的一台弹性云服务器上折腾容器,把从零安装 Docker 到部署一个 Web 服务的完整过程整理了一遍。系统用的是 Huawei Cloud EulerOS 2.0(基于 openEuler),整个过程大概十分钟,适合第一次在云服务器上用 Docker 的朋友参考。

最近在华为云的一台弹性云服务器上折腾容器,把从零安装 Docker 到部署一个 Web 服务的完整过程整理了一遍。系统用的是 Huawei Cloud EulerOS 2.0(基于 openEuler),整个过程大概十分钟,适合第一次在云服务器上用 Docker 的朋友参考。

一、准备工作

  • 一台 ECS(我用的是 1 核 1GB 的小规格,跑演示足够)
  • 安全组提前放通 22 端口(SSH 登录用)和后面要用的 8080 端口
  • 通过 SSH 或云上 CloudShell 登录服务器

先看一下系统版本,确认环境:

cat /etc/os-release

二、安装 Docker

EulerOS 的默认软件源里就带 Docker,一条命令装完:

yum install -y docker

启动服务并设置开机自启,这一步很多人会漏掉自启,服务器重启后容器不自动恢复就会踩坑:

systemctl start docker
systemctl enable docker
docker --version

能正常输出版本号,再跑一个官方测试镜像验证安装:

docker run hello-world

看到欢迎信息,说明 Docker 已经可以正常拉取和运行镜像了。

三、部署第一个容器:Nginx

用官方 Nginx 镜像起一个 Web 服务:

docker run -d --name web -p 8080:80 nginx

几个常用参数说明一下:

  • -d 后台运行
  • --name web 给容器起个名字,后面管理方便
  • -p 8080:80 把宿主机的 8080 端口映射到容器内的 80 端口

查看运行状态和日志:

docker ps
docker logs web
curl http://localhost:8080

本机 curl 能返回 Nginx 的欢迎页面后,再确认一遍安全组里 8080 端口已放通,就可以在浏览器里用「公网 IP:8080」访问了。如果浏览器打不开、本机 curl 却正常,十有八九是安全组没放行,先查这里不要怀疑 Docker。

四、把自己的静态页面放进去

光跑默认页没意思,把页面文件挂载进容器,改文件不用重建镜像:

mkdir -p /data/html
echo "<h1>Hello from ECS + Docker</h1>" > /data/html/index.html
docker rm -f web
docker run -d --name web -p 8080:80 -v /data/html:/usr/share/nginx/html nginx

-v 做目录挂载后,直接修改 /data/html/index.html,刷新浏览器就能看到新内容。正式项目里数据库、配置文件这类需要持久化的数据也应该这样挂载出来,避免容器删除后数据丢失——这是新手最容易吃的一个亏。

五、日常管理常用命令

docker ps -a            # 查看全部容器
docker stop web         # 停止容器
docker start web        # 启动容器
docker exec -it web bash  # 进入容器内部排查问题
docker rm web           # 删除容器(先 stop)
docker images           # 查看本地镜像
docker pull nginx:latest  # 拉取镜像

另外建议给容器加上 --restart unless-stopped,配合前面的 Docker 服务开机自启,服务器重启后服务能自动恢复,省去手动拉起的麻烦。

六、两个常见坑

  1. 镜像拉取慢:可以在 /etc/docker/daemon.json 里配置镜像加速地址,改完执行 systemctl restart docker 生效。
  2. 端口冲突:启动失败并提示 port is already allocated,一般是宿主机上已有进程占用了该端口,换一个映射端口或先停掉占用进程即可。

小结

整个流程下来,Docker 在云服务器上的核心优势就是环境一致、部署和回滚都快:一条 docker run 上线,出问题删掉容器换个镜像版本重跑就行。对于个人小项目和练手场景,先从单机 Docker 把这些基础命令和挂载、端口映射的概念吃透,后面再学编排工具会顺很多。

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

评论(0)

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

全部回复

上滑加载中

设置昵称

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

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

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