Docker 入门:十分钟打包并运行你的第一个容器

举报
132807 发表于 2026/11/14 08:43:37 2026/11/14
【摘要】 本文从镜像与容器两个核心概念讲起,带你安装验证 Docker,用 Nginx 打包并运行第一个容器应用,再介绍数据持久化、常用命令和新手常踩的三个坑,十分钟建立容器化基本认知。

一、为什么需要 Docker

在本地跑得好好的程序,换一台机器就报错,是很多开发者的共同经历:依赖版本不一致、环境变量缺失、系统库不同。Docker 把应用和运行所需的环境打包成一个镜像,不管在哪里运行,行为都一致。对新手来说,它最大的价值就是“一次构建,处处运行”,以及能快速搭建开发和测试环境。

二、镜像与容器:两个核心概念

镜像是只读的模板,包含操作系统、运行环境和应用代码;容器是镜像运行起来的实例,可以启动、停止和删除。打个比方,镜像是安装包,容器是安装好并正在运行的程序。一个镜像可以启动多个容器,彼此互不干扰。

三、安装与验证

在官网下载 Docker Desktop(Windows / macOS),Linux 可以用包管理器安装。安装完成后执行:

docker version
docker run hello-world

看到 “Hello from Docker!” 就说明安装成功,第一条命令会拉取一个测试镜像并运行它。

四、打包第一个应用

准备一个简单的静态页面 index.html,再写一个 Dockerfile:

FROM nginx:alpine
COPY index.html /usr/share/nginx/html/index.html
EXPOSE 80

构建并运行:

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

浏览器打开 http://localhost:8080,就能看到页面。-p 把容器 80 端口映射到主机 8080 端口,-d 让容器后台运行。

五、数据持久化与常用命令

容器删除后,内部数据会随之消失。需要保留的数据,用卷挂载:

docker run -d -v mydata:/data my-web:1.0

常用命令速查:docker ps 查看运行中的容器;docker images 列出本地镜像;docker logs my-web 查看日志;docker stop 和 docker rm 停止与删除容器;docker exec -it my-web sh 进入容器内部排查问题。

六、新手常踩的三个坑

第一,端口冲突:8080 已被占用时换一个主机端口即可。第二,镜像拉取慢:可以配置国内镜像加速地址。第三,容器一启动就退出:多半是主进程执行完毕,用 docker logs 查日志,先确认命令本身能正常运行。

七、小结

Docker 的学习曲线并不陡:先理解镜像与容器,再动手 build、run、stop 走完一圈,基本概念就建立起来了。下一步可以尝试用 docker-compose 编排多容器应用,或把镜像推送到仓库分享给团队。从一个静态页面开始,十分钟就能感受到容器化的便利。

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

评论(0)

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

全部回复

上滑加载中

设置昵称

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

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

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