Docker 入门实战:十分钟跑起你的第一个容器

举报
yd_260985715 发表于 2026/11/09 15:56:44 2026/11/09
【摘要】 从零开始上手 Docker:完成安装自检、运行第一个 nginx 容器、掌握五个必会命令、写出第一个 Dockerfile,再避开新手最常见的三个坑,十分钟完成容器入门。

第一次接触 Docker 时,我最大的疑惑是:虚拟机已经能隔离环境了,为什么还要容器?真正用过一次就明白了——把一个应用和它依赖的环境打包成镜像,在哪台机器上跑起来都一模一样,"在我电脑上是好的"这句话基本就消失了。这篇把从零到跑起第一个容器、再到写出第一个 Dockerfile 的完整路径走一遍,十分钟够用。

一、安装与自检

Windows 和 Mac 直接装 Docker Desktop,Linux 用发行版的包管理器或官方脚本安装即可。装完在终端执行两个命令确认状态:

docker version
docker info

能正常输出版本信息和系统信息,说明客户端和守护进程都工作正常。如果提示连不上守护进程,Linux 下先确认服务已启动,并且当前用户在 docker 用户组里;Desktop 版则先把程序打开等鲸鱼图标稳定下来。

二、跑起第一个容器

用官方的 nginx 镜像练手,一行命令就能得到一个能访问的 Web 服务:

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

第一次运行会先拉取镜像,稍等片刻即可。三个参数是新手最该先搞懂的:-d 表示后台运行,不占着终端;--name web 给容器起个名字,后面所有操作都可以用名字指代它,不用记那串容器 ID;-p 8080:80 是端口映射,冒号左边是宿主机端口,右边是容器内端口,顺序写反了服务就访问不到。命令执行完,浏览器打开 localhost:8080 ,看到 nginx 的欢迎页就说明容器跑起来了。

三、最常用的五个命令

日常使用其实就围着这几个命令转:

  • docker ps:看正在运行的容器,加 -a 连已停止的也列出来;
  • docker logs -f web:跟踪容器日志,服务起不来先看它,八成问题都在日志里;
  • docker exec -it web bash:进入容器内部看看,就像 ssh 进了一台小机器;
  • docker stop web / docker start web:停止和启动,容器停止后数据还在;
  • docker rm web:删除容器,注意运行中的要先 stop,或者用 -f 强制删。

镜像层面再记住两个:docker images 看本地有哪些镜像,docker pull 镜像名:标签 主动拉取指定版本。标签不写默认是 latest,正式环境里建议固定版本号,避免哪天 latest 变了样。

四、把命令写进 Dockerfile

手动敲命令只适合练手,真正交付时要把构建过程写成文件。在一个空目录里放一个自己的 index.html,再写一个 Dockerfile:

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

然后构建并运行:

docker build -t myweb:v1 .
docker run -d --name myweb -p 8081:80 myweb:v1

访问 8081 端口,看到的就是你自己的页面了。FROM 指定基础镜像,COPY 把文件放进镜像,这个"配方文件 + 一条 build 命令"就是 Docker 交付的核心:别人拿到 Dockerfile,在任何机器上都能构建出完全一致的镜像。

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

第一,端口映射写反。记住宿主机在左、容器在右,而且宿主机端口被别的程序占用时容器会启动失败,换个端口即可。第二,容器删了数据就没了。容器本身是临时的,需要保留的数据要挂载数据卷,例如 -v mydata:/usr/share/nginx/html,数据存在卷里,删容器也不影响。第三,拉镜像超时或失败。多数是网络问题,可以给 Docker 配置国内镜像加速地址,或者先确认镜像名和标签拼写无误再重试。

小结

Docker 的学习曲线其实很平:run 跑起来、logs 看问题、exec 进去瞧、Dockerfile 固化构建,这一套下来,本地开发、测试环境、持续集成里最常见的用法就都覆盖了。先把手头的小项目容器化一次,比看十篇教程都管用。

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

评论(0)

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

全部回复

上滑加载中

设置昵称

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

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

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