Docker 入门:把应用装进一个可搬走的盒子

举报
yd_237730687 发表于 2026/10/30 13:57:07 2026/10/30
【摘要】 很多新手第一次听到 Docker,都会问一个问题:它到底解决了什么麻烦?我的理解是,Docker 把“应用加运行环境”打包成一个可以搬走的盒子。这个盒子在开发机上能跑,换到测试机、服务器上,表现也基本一样,不用再为“在我电脑上明明可以”反复折腾。先分清三个最基本的词。镜像是一份只读的模板,里面装好了程序和依赖;容器是镜像跑起来的实例,就像用同一个模具做出来的盒子,可以启动、停止和删除;仓库则...

很多新手第一次听到 Docker,都会问一个问题:它到底解决了什么麻烦?我的理解是,Docker 把“应用加运行环境”打包成一个可以搬走的盒子。这个盒子在开发机上能跑,换到测试机、服务器上,表现也基本一样,不用再为“在我电脑上明明可以”反复折腾。

先分清三个最基本的词。镜像是一份只读的模板,里面装好了程序和依赖;容器是镜像跑起来的实例,就像用同一个模具做出来的盒子,可以启动、停止和删除;仓库则是存放镜像的地方,方便把镜像发给别人或者部署到别的机器。记住这个关系,后面的命令就好理解了:我们先拿到镜像,再把它跑成容器。

动手之前,先确认本地已经装好 Docker。装好后可以先跑一个最简单的例子:

docker run hello-world

如果屏幕上出现欢迎信息,说明 Docker 本身没有问题。接下来可以跑一个真正有用的服务,比如网页服务器:

docker run -d -p 8080:80 nginx

这里 -d 表示后台运行,-p 8080:80 表示把容器里的 80 端口映射到本机的 8080 端口。跑完后在浏览器打开本机的 8080 端口,就能看到默认网页。想看它在不在跑,可以用 docker ps;想停掉它,可以用 docker stop 加上容器编号或者名字。

接下来做一个自己的小镜像。准备一个只有一句话的网页 index.html,再写一个很短的 Dockerfile:

FROM nginx
COPY index.html /usr/share/nginx/html/index.html

它的意思很直白:以 nginx 为底,把自己的网页复制到默认网页位置。然后在同一目录构建并运行:

docker build -t my-web .
docker run -d -p 8080:80 my-web

再打开本机 8080 端口,看到的就是自己的页面。改了内容后重新构建、重新运行,就能看到变化。这个过程已经包含了容器化最核心的思路:环境跟着代码走。最后留一个小练习:依次跑通 hello-world、nginx 和 my-web,并用 docker ps、docker logs 看看状态和日志;遇到端口占用,先检查是不是已有容器占了同一端口。

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

评论(0)

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

全部回复

上滑加载中

设置昵称

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

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

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