Docker 看着吓人?先记住这七条终端命令

一、为什么 Docker 让人犯怵

第一次接触 Docker 的人,往往被镜像、容器、卷、端口、Compose 文件和满屏命令劝退,以为必须懂开发才能上手。镜像(image)可以理解成打包好的应用「蓝图」,容器(container)则是照蓝图跑起来的运行实例,二者并不相同。MakeUseOf 一位撰稿人分享,他真正跑起几个自托管应用后才发现,日常反复用的其实就是那么七八条命令。先把这七条记熟,Docker 就不再难懂。

二、七条核心命令

  1. docker pull nginx:从镜像仓库下载名为 nginx 的镜像,相当于把「原材料」备好;
  2. docker run -d –name myserver -p 8080:80 nginx:把镜像变成运行中的容器;-d 后台运行,–name 起名,-p 把本机 8080 端口映射到容器内 80 端口;
  3. docker ps:查看正在运行的容器名称、状态、镜像与端口;加 -a(docker ps -a)可看已停止的;
  4. docker logs myserver:查看容器输出日志,定位启动报错、配置或连接问题;加 -f 实时跟踪;
  5. docker exec -it myserver sh:进入容器内部开一个交互终端,像在本机一样查文件、跑命令;
  6. docker stop myserver:用完先停而非删,容器保留在系统里,下次一条命令就能再起;
  7. docker rm myserver:确定不再需要时彻底删除容器(镜像仍在)。

一个最小流程就是:pull 拉镜像、run 起容器、ps 确认在跑、logs 排错、stop 收工。

三、理解工作流就不慌

镜像像图纸,容器是照图纸跑起来的实体。端口映射(-p 8080:80)的意思是:在浏览器访问本机 8080,流量会被转进容器里的 80 端口,这样外面的电脑才能打开容器里的服务。七条命令足以起步,其余等踩坑时现学现用。

注意事项

docker pull 并非每次必用,Docker 在 run 时缺镜像会自动补拉,但理解「镜像与容器」的关系能少走很多弯路。myserver 只是容器名占位符,换成自己实际名字即可;忘了名字就 docker ps 看 NAMES 列。删除容器前若仍在运行,要先 docker stop 再 docker rm,否则会报错。

来源:MakeUseOf