Docker 入门:一条命令跑起你的第一个容器

举报
yd_223549756 发表于 2026/11/09 22:12:02 2026/11/09
【摘要】 刚入行的时候,我最怕的一句话是:“在我电脑上明明能跑。”同一份代码,换台电脑就起不来;开发环境配了半天,到了测试环境又缺依赖。后来我开始用 Docker,这类问题少了大半。今天这篇入门短文,就带你用一条命令跑起第一个容器。 一、Docker 是什么一句话:Docker 是把应用和它运行所需的环境打包在一起的工具。理解它只需记住三个概念:镜像(Image):只读的模板,好比安装盘,里面装好了应...

刚入行的时候,我最怕的一句话是:“在我电脑上明明能跑。”同一份代码,换台电脑就起不来;开发环境配了半天,到了测试环境又缺依赖。后来我开始用 Docker,这类问题少了大半。今天这篇入门短文,就带你用一条命令跑起第一个容器。

一、Docker 是什么

一句话:Docker 是把应用和它运行所需的环境打包在一起的工具。理解它只需记住三个概念:

  • 镜像(Image):只读的模板,好比安装盘,里面装好了应用和依赖。
  • 容器(Container):镜像跑起来的实例,好比用安装盘装好的系统,可以启动、停止、删除。
  • 仓库(Registry):存放镜像的地方,最常用的是 Docker Hub。

镜像和容器的关系,就像类和对象:一个镜像可以跑出多个容器。

二、装好先验证

装好 Docker 后,先确认它能正常工作:

docker --version
docker run hello-world

第二条命令会从仓库拉取一个很小的测试镜像并运行,看到 “Hello from Docker!” 就说明环境没问题。

三、一条命令跑起 Nginx

直接运行:

docker run -d -p 8080:80 nginx

执行完,打开浏览器访问 http://localhost:8080,就能看到 Nginx 的欢迎页。拆开看这条命令:run 表示运行容器;-d 让容器在后台运行;-p 8080:80 把本机的 8080 端口映射到容器的 80 端口;最后的 nginx 是镜像名,没写版本号时默认用 latest。

四、五个最常用的命令

docker ps              # 查看正在运行的容器
docker ps -a           # 查看所有容器,包括已停止的
docker stop 容器名或ID   # 停止容器
docker rm 容器名或ID     # 删除容器
docker logs 容器名或ID   # 查看容器日志
docker exec -it 容器名或ID /bin/sh  # 进入容器内部

容器 ID 不用写全,前几位能唯一区分就行。刚开始记不住很正常,常用几次就顺手了。

五、写自己的第一个镜像

新建一个文件夹,放一个简单的 index.html,再写一个 Dockerfile:

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

然后构建并运行:

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

访问 http://localhost:8081,看到的就是你自己的页面。FROM 指定基础镜像,COPY 把文件放进镜像,build 生成镜像,-t 给镜像起名字。

六、新手最容易踩的三个坑

第一,端口被占用。启动时报端口已被分配,换个本机端口就好,比如改成 -p 8082:80。第二,容器一启动就退出。多半是容器里没有前台进程,用 docker logs 看日志找原因;docker run 后面如果没有可执行命令,容器会认为工作做完了。第三,镜像拉取很慢。默认仓库在境外网络,下载大镜像耗时较长,可以配置国内镜像加速地址,改完记得重启 Docker 服务。

小结

今天只做了三件事:理解镜像与容器、跑起一个 Nginx、构建自己的第一个镜像。Docker 的核心思想就是“一次打包,到处运行”。下一步可以学数据卷(让容器里的数据不随删除消失)和 Docker Compose(用一个文件管理多个容器),把本地开发环境彻底装进容器里。

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

评论(0)

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

全部回复

上滑加载中

设置昵称

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

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

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