Docker 快速上手:从安装到跑起第一个容器

举报
yd_232552650 发表于 2026/10/23 09:58:56 2026/10/23
【摘要】 容器技术解决的核心问题是环境一致性:代码在开发机上能跑,到了服务器却因为系统、依赖版本不同而翻车。Docker 把应用和它的运行环境一起打包,镜像走到哪,环境就跟到哪。和虚拟机相比,容器共享宿主机内核、没有整套客户机系统,启动是秒级的,资源占用也小得多。 一、安装以常见的 Linux 发行版为例,安装并启动 Docker:yum install -y docker 或 apt-get ins...

容器技术解决的核心问题是环境一致性:代码在开发机上能跑,到了服务器却因为系统、依赖版本不同而翻车。Docker 把应用和它的运行环境一起打包,镜像走到哪,环境就跟到哪。和虚拟机相比,容器共享宿主机内核、没有整套客户机系统,启动是秒级的,资源占用也小得多。

一、安装

以常见的 Linux 发行版为例,安装并启动 Docker:

yum install -y docker 或 apt-get install -y docker.io(不同发行版包名略有差异),然后 systemctl enable --now docker。用 docker version 能同时看到客户端和服务端版本,说明服务已起来。想免 sudo 操作,可以把当前用户加入 docker 组:usermod -aG docker $USER,重新登录后生效。

二、三个核心概念

镜像:只读模板,包含应用和它的全部依赖,类比"安装光盘"。容器:镜像跑起来后的运行实例,类比"装好的系统进程"。仓库:存放和分发镜像的地方,官方的 Docker Hub 上有大量现成镜像,拉下来就能用。理解顺序建议是:先有镜像,才有容器;镜像从仓库来。

三、跑起第一个容器

一条命令就能跑起一个 Nginx 网站:

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

-d 表示后台运行;-p 8080:80 把宿主机的 8080 端口映射到容器内的 80 端口;--name 给容器起个名字方便管理。执行后用 curl http://127.0.0.1:8080 或浏览器打开宿主机地址加 8080 端口,能看到 Nginx 欢迎页就成功了。

四、日常最常用的命令

docker ps 看正在运行的容器,加 -a 连已停止的也一起看;docker images 列出本地镜像;docker logs 容器名 看容器输出,排障第一步;docker exec -it 容器名 sh 进到容器内部看个究竟;docker stop / start / restart 控制容器状态;docker rm 删容器、docker rmi 删镜像;docker pull 镜像名 只拉镜像不运行。这十来条命令覆盖了日常九成场景。

五、两个容易踩的坑

第一,容器删掉,里面的数据就没了。需要持久化的数据一定要挂载数据卷:docker run -v /宿主机目录:/容器目录,把数据写在容器外面。第二,镜像越攒越多会吃满磁盘,定期用 docker system df 看占用,清理时 docker system prune 要慎用,它会把停着的容器和没用的镜像一次清掉,先确认没有要留的东西。

六、小结

上手路径其实很短:装好 Docker,理解镜像、容器、仓库三者的关系,跑通第一个容器,再把常用命令练熟。接下来的进阶是写 Dockerfile 把自己的应用做成镜像,以及用 Docker Compose 一次编排多个容器,这两步走完,日常开发部署就基本够用了。

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

评论(0)

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

全部回复

上滑加载中

设置昵称

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

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

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