Docker 入门:先把一个应用装进口袋,再谈编排
很多新手第一次听到 Docker,都会被镜像、容器、仓库这些名词绕晕。其实可以先放下这些概念,只记住一句话:Docker 是把应用和它运行所需的环境一起打包、到处运行的工具。你在自己电脑上跑通的东西,换一台机器常常因为依赖版本不同而跑不起来,Docker 要解决的正是这种不一致。
镜像与容器:一张图纸与一间屋子
镜像可以理解为一张只读的图纸,里面写好了操作系统基础、运行环境、依赖和启动方式。容器则是按这张图纸建出来、正在运行的一间屋子。你可以从同一张图纸建出很多间屋子,每间互不干扰,删掉一间也不会影响图纸本身。理解这一层,后面的命令就都好懂了。
三个命令,先跑起来
先拉取一个官方示例镜像并启动它:
docker run -d -p 8080:80 nginx
这条命令的意思是以后台方式运行,并把容器内的 80 端口映射到本机的 8080 端口。随后在本机浏览器里打开 8080 端口,能看到欢迎页面,就说明第一个容器已经跑起来了。接着用下面的命令查看和停止它:
docker ps
docker stop 容器名称或编号
新手常犯的错误,是把容器当成虚拟机,在里面装一堆东西又舍不得删。其实容器应该是用完可弃的,真正需要长期保存的是数据和镜像定义,而不是某一个正在运行的容器。
用 Dockerfile 把过程写下来
手动敲命令只能跑一次演示,真正可复用的做法,是把步骤写进 Dockerfile。例如先声明基础镜像,再复制代码、安装依赖、声明端口,最后写清启动命令。写好之后,一条构建命令就能生成属于自己的镜像,别人拿到同一份文件,也能在另一台机器上得到同样的运行结果。这就是 Docker 对团队协作最大的价值:把口头说的环境,变成可以版本管理的文本。
什么时候不必急着学编排
很多教程一上来就讲多容器编排和集群调度,容易让新手在概念里迷路。我的建议是先把单容器练熟:能启动、能看日志、能映射端口、能挂载数据卷、能清理不再使用的容器和镜像。等到确实需要同时跑数据库、缓存和应用,并且它们之间要互相配合时,再去学组合工具也不迟。工具是为了解决真实问题,而不是为了把学习清单填满。
一条适合新手的练习路线
第一步,在本地跑通一个现成示例,理解端口映射和日志查看。第二步,自己写一个简单的 Dockerfile,把一个静态页面或小服务打包成镜像。第三步,练习数据卷,确认容器删掉后数据还在。第四步,再回头读官方文档里关于网络和资源限制的部分,这时很多概念会自然对上号。
Docker 的学习曲线并不陡,难的是总想一次学完所有概念。先让一个容器真正跑起来,再一步步把图纸、数据和网络补齐,你会发现它其实是一个很克制的工具:只做一件事,就是让应用在不同机器上表现一致。
- 点赞
- 收藏
- 关注作者
评论(0)