十分钟读懂 Docker:镜像、容器与常用命令

举报
yd_28502004 发表于 2026/10/22 21:19:29 2026/10/22
【摘要】 如果你写过这样的抱怨:“在我机器上明明是好的”,那 Docker 就是为你准备的。Docker 把应用和它依赖的环境打包在一起,无论在哪台机器上运行,行为都一致。先分清两个核心概念。镜像(Image)是只读的模板,好比安装光盘;容器(Container)是镜像运行起来的实例,好比用光盘装好的系统。你可以从一个镜像启动无数个相互隔离的容器。安装 Docker 后,先跑一条命令验证:docker...

如果你写过这样的抱怨:“在我机器上明明是好的”,那 Docker 就是为你准备的。Docker 把应用和它依赖的环境打包在一起,无论在哪台机器上运行,行为都一致。

先分清两个核心概念。镜像(Image)是只读的模板,好比安装光盘;容器(Container)是镜像运行起来的实例,好比用光盘装好的系统。你可以从一个镜像启动无数个相互隔离的容器。

安装 Docker 后,先跑一条命令验证:

docker run hello-world

这条命令会拉取官方测试镜像并运行,看到 “Hello from Docker!” 就说明环境正常。

日常最常用的几条命令:

  • docker ps:查看正在运行的容器,加上 -a 查看所有(含已停止)。
  • docker pull nginx:从镜像仓库拉取镜像到本地。
  • docker run -d -p 8080:80 nginx:后台启动一个 nginx 容器,把宿主机的 8080 端口映射到容器的 80 端口,浏览器访问 localhost:8080 就能看到欢迎页。
  • docker logs <容器名>:查看容器日志,排错第一步。
  • docker exec -it <容器名> /bin/bash:进入正在运行的容器的 shell。
  • docker stop / docker rm:停止与删除容器;docker rmi:删除镜像。

想把自己的应用容器化?写一个 Dockerfile 即可,三行就能跑一个 Python 服务:

FROM python:3.12-slim
COPY . /app
CMD ["python", "/app/main.py"]

然后 docker build -t myapp . 构建镜像,docker run -d -p 8000:8000 myapp 启动。改代码、重新构建、重新运行,环境永远一致。

当服务变多,一个个 run 会很繁琐,这时可以用 Docker Compose:把多个容器的配置写进 docker-compose.yml,一条 docker compose up 全部拉起,适合本地开发联调。

新手建议:先用官方镜像练手(nginx、redis、mysql),别急着自己写复杂 Dockerfile;容器里产生的重要数据记得用 -v 挂载卷持久化,否则容器删除数据就没了;不用的容器和镜像定期 docker system prune 清理,省磁盘。

Docker 的学习曲线很平缓,核心就是"镜像是模板,容器是实例"。掌握上面几条命令,你已经能应付八成的日常场景了。

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

评论(0)

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

全部回复

上滑加载中

设置昵称

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

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

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