Docker 入门第一课:一个命令跑起你的第一个容器
刚学开发时,我最怕的一句话是“在我机器上明明能跑”。同一份代码,换一台电脑就跑不起来:依赖版本不同、端口被占用、配置文件缺了一个。Docker 就是为了解决“环境不一致”而生的工具。这篇短文不讲深理论,只带你用一个命令跑起第一个容器,再顺手做一个自己的镜像。
先分清两个最基本的概念。镜像是一份只读的模板,装好了某个软件运行所需的全部东西,比如 Nginx 镜像里有 Nginx 程序和它依赖的库。容器是镜像跑起来的实例,一张镜像可以启动多个容器,容器之间默认互相隔离。删掉容器也不会影响镜像本身,镜像还在,下次还能再起一个一模一样的容器。
装好 Docker 后,先用 docker version 确认客户端和服务端都能正常响应,再执行这一条命令拉起一个 Nginx 容器:docker run -d -p 8080:80 --name my-nginx nginx。-d 是后台运行,-p 8080:80 是把容器里的 80 端口映射到你本机的 8080 端口,--name 是给容器起个名字。命令执行完,在浏览器打开 http://localhost:8080,看到 Nginx 的欢迎页,就说明你的第一个容器已经跑起来了。
容器跑起来后,几个命令会天天用到:docker ps 看正在运行的容器,加上 -a 能看到所有容器;docker images 看本地有哪些镜像;docker logs my-nginx 看容器日志,出了问题先看日志;docker stop my-nginx 停掉容器,再用 docker rm my-nginx 删掉它;不用的镜像用 docker rmi 删除。记住一个顺序:先 stop 再 rm,删镜像之前要先删掉依赖它的容器。
最后一步,把自己的页面也做成镜像:新建一个文件夹,放一个 index.html,再写一个只有三行的 Dockerfile:FROM nginx;COPY index.html /usr/share/nginx/html/index.html;EXPOSE 80。执行 docker build -t my-site . 打包镜像,再执行 docker run -d -p 8081:80 my-site,打开 http://localhost:8081,看到的就是你自己的页面。Docker 的入门门槛其实很低,核心就是镜像和容器两个概念加十来条命令,先跑起来,再慢慢折腾。
- 点赞
- 收藏
- 关注作者
评论(0)