Docker 入门:十分钟跑通你的第一个容器
为什么需要 Docker
很多初学者都遇到过这种尴尬:程序在自己电脑上运行得好好的,换一台机器就报错,不是缺库就是版本不对。Docker 要解决的正是这个问题——把程序和它依赖的运行环境一起打包,无论搬到哪里,都按同一个样子运行起来,省去反复配置环境的麻烦。
三个核心概念
先把最容易混淆的三个词分清。镜像(Image)是一个只读的打包文件,里面包含程序、运行库和默认配置,可以理解成软件的“安装包”;容器(Container)是镜像运行起来之后的实例,相当于一个正在执行的进程;仓库(Registry)是存放和分发镜像的地方,最常用的是 Docker Hub,作用有点像代码托管平台之于代码。日常流程就是:从仓库拉取镜像,再基于镜像启动容器。
跑通第一个容器
确认 Docker 已经安装好之后,先在终端执行官方的测试镜像:
docker run hello-world
如果终端打印出欢迎信息,说明“拉取镜像、创建容器、运行输出”这一整条链路已经通了。接着来一个更直观的例子,启动一个 Nginx 网站服务器:
docker run -d -p 8080:80 --name myweb nginx
其中 -d 表示后台运行,-p 8080:80 把本机的 8080 端口映射到容器的 80 端口,--name 是给容器起个名字。执行完后打开浏览器访问 localhost:8080,就能看到 Nginx 的欢迎页。放在以前,光是安装服务器、修改配置、处理端口冲突,十分钟都未必够用。
最常用的六条命令
入门阶段把下面六条命令记熟,基本可以应付大多数场景:
docker ps:查看正在运行的容器docker images:查看本地已有的镜像docker pull 镜像名:从仓库拉取镜像docker logs 容器名:查看容器日志docker stop 容器名:停止容器docker rm 容器名:删除容器
用 Dockerfile 打包自己的应用
再进一步,可以用 Dockerfile 把自己的程序做成镜像。例如一个最简单的 Python 应用,只需要三行:以 python:3.12-slim 为基础镜像,把 app.py 拷贝进去,再声明启动命令,然后执行 docker build -t myapp . 即可生成镜像。这样一来,团队里每个人拿到的都是完全一致的运行环境,“在我这儿是好的”这类争论自然就少了。
给初学者的三点建议
第一,先彻底搞清镜像和容器的区别,这是理解数据卷、网络、Compose 等后续知识的地基。第二,遇到问题先用 docker ps 和 docker logs 查看容器的真实状态,而不是靠猜。第三,不要急着学 Kubernetes,先把单机 Docker 用熟,再去学编排工具会顺畅得多。现在就动手,把手边的一个小脚本装进容器里跑起来吧——你会发现,容器并没有想象中那么神秘。
- 点赞
- 收藏
- 关注作者
评论(0)