Docker 新手实录:在云服务器上跑起我的第一个容器服务

举报
yd_234546289 发表于 2026/10/21 17:57:42 2026/10/21
【摘要】 记录我在华为云 ECS 上从零安装 Docker、跑起第一个 Nginx 容器服务的完整过程:官方脚本安装、端口映射、安全组放行、免 sudo 配置、数据卷挂载,以及新手最容易踩的三个坑,附常用命令速记表。

Docker 新手实录:在云服务器上跑起我的第一个容器服务

作为一个之前只在本地虚拟机里敲过命令的学生,我一直对 Docker 有点发怵:概念听了不少,镜像、容器、仓库绕来绕去,真到动手就不知道从哪开始。这次趁着在云服务器上做实验的机会,我把 Docker 从安装到跑起一个真正的 Web 服务完整走了一遍,记录下来,给同样想入门的同学一个能照着做的版本。

一、准备工作

你需要一台 Linux 云服务器(我用的是华为云 ECS,系统 Debian/Ubuntu 都可以),能 SSH 登录上去就行。下面的命令以 Debian/Ubuntu 为例。

二、安装 Docker

一行官方脚本就能装好:

curl -fsSL https://get.docker.com | sudo sh

装完验证一下版本,并跑官方的测试镜像:

sudo docker --version
sudo docker run hello-world

如果终端打印出 “Hello from Docker!”,说明 Docker 已经在你的服务器上正常工作了。就这么简单,没有想象中的复杂配置。

三、跑起第一个真正的服务:Nginx

测试镜像只是打个招呼,接下来跑一个真能访问的 Web 服务:

sudo docker run -d --name myweb -p 8080:80 nginx

这条命令做了三件事:从仓库拉取 nginx 镜像(-d 表示后台运行)、给容器起名 myweb、把服务器的 8080 端口映射到容器里的 80 端口。

然后在浏览器打开 http://你的服务器公网IP:8080,看到 Nginx 的欢迎页,就说明你的第一个容器服务上线了。

四、我踩过的三个坑

坑 1:网页打不开,先查云平台的安全组。
容器明明在跑(docker ps 里好好的),浏览器就是访问不了。最后发现是云服务器的安全组没有放行 8080 端口——Docker 的端口映射只管服务器内部,云平台外面还有一道防火墙。要去控制台的安全组里把对应端口加进入方向规则,这是新手最容易漏的一步。

坑 2:每次命令都要敲 sudo。
Docker 守护进程默认只有 root 能访问。可以把当前用户加入 docker 组免 sudo:

sudo usermod -aG docker $USER

重新登录后生效。不过要提醒:docker 组的权限约等于 root,自己的服务器图方便没问题,生产环境请谨慎。

坑 3:改了网页,重启容器后又没了。
容器里改的东西,容器一删就没了。要让数据活下来,用 -v 把服务器目录挂载进容器:

sudo docker run -d --name myweb -p 8080:80 -v /data/web:/usr/share/nginx/html nginx

把你的网页文件放在服务器的 /data/web 里,容器删了重建,网页还在。

五、常用命令速记

命令 作用
docker ps 看正在运行的容器
docker ps -a 看所有容器(包括停了的)
docker images 看本地镜像
docker logs 容器名 看容器日志(排障第一步)
docker stop/start 容器名 停/启容器
docker rm 容器名 删除容器
docker exec -it 容器名 sh 进入容器内部看看

六、小结

一圈走下来,我对 Docker 的理解变成了很实在的一句话:镜像是模板,容器是跑起来的实例,端口映射把它接到外面的世界,挂载让它记住东西。 以前记不住的概念,动手跑一遍就全通了。

下一步我打算学 Docker Compose,把多容器的服务用一个配置文件管起来。如果你也在入门 Docker,建议就从"装好它、跑起一个 Nginx、故意踩一次安全组的坑"开始,比看十篇概念文章都管用。

欢迎在评论区交流,你踩过的第一个 Docker 坑是什么?

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

评论(0)

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

全部回复

上滑加载中

设置昵称

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

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

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