Docker新手核心指南:从容器管理到镜像构建与运行! 🐳

大家好!作为开发者,您一定或多或少听说过“Docker”这个词。它被称为一种神奇的工具,能让“在我的电脑上运行得很好…”这句话消失不见。😉

然而,当您真正开始尝试时,面对黑色的终端屏幕可能会感到茫然。因此,今天我整理了负责Docker核心生命周期(Lifecycle)的关键命令,让任何人都能轻松上手。有了这篇文章,您就能迈出自由操控Docker容器的第一步!

第一步:管理现有容器(查看、停止、删除)📦

首先,我们来了解如何管理已经运行的容器。就像电脑的任务管理器一样,Docker也有查看和管理运行中进程(容器)的功能。

✅ 查看运行中的容器列表:docker ps

这个命令用于查看当前服务器上正在运行哪些容器。

# 仅显示当前正在运行的容器。
docker ps

如果想查看包括已停止在内的所有容器,请添加 -a 选项。

# 显示所有容器,包括运行中和已停止的。
docker ps -a

通过这个命令,您可以一目了然地掌握容器的ID、名称、使用的镜像、端口等重要信息。

🛑 停止运行中的容器:docker stop

如果不再需要某个容器,可以安全地停止它。使用通过 docker ps 命令确认的容器ID或名称即可。

# docker stop <容器_ID_或_名称>
docker stop a1b2c3d4e5f6

🗑️ 彻底删除容器:docker rm

stop 只是暂时停止容器,并非完全删除。要彻底删除不需要的容器,必须使用 rm 命令。请注意,运行中的容器无法直接删除,因此必须先执行 stop 命令。

# docker rm <容器_ID_或_名称>
docker rm a1b2c3d4e5f6

💡 小贴士: 想一次性停止并删除吗?使用 -f (force) 选项可以直接删除运行中的容器。docker rm -f <容器_ID_或_名称>

第二步:创建自己的蓝图(Docker镜像构建)🛠️

现在已经清理了现有容器,接下来是时候创建包含您自己应用程序的新镜像了。

  • 什么是 Dockerfile? 它是按顺序记录运行您的应用程序所需的所有设置(基础操作系统、要安装的程序、源代码复制、执行命令等)的文本文件,即镜像蓝图。
  • 什么是镜像(Image)? 它是基于 Dockerfile 这个蓝图构建的,包含了运行应用程序所需的一切的软件包。

将这个蓝图转换为镜像的魔法咒语是 docker build。

Bash

# cd /进入Dockerfile所在路径
# docker build -t <镜像名称:标签> <Dockerfile路径>
docker build -t my-web-app:1.0 .

我们来看看命令的各个部分:

  • docker build: 意思是“用这个蓝图构建一个镜像!”
  • -t my-web-app:1.0: -t 是为镜像添加名称和标签(版本)的选项。(例如,名为 my-web-app 的 1.0 版本)这样命名后,以后可以轻松找到并使用该镜像。
  • .: 表示 Dockerfile 所在的路径。. 代表“当前目录”。

第三步:终于运行!(将容器发布到世界) 🚀

好了,现在是时候使用构建好的镜像,将其作为实际运行的容器启动了!让我们了解一下最重要且选项众多的 docker run 命令。

# docker run [选项] <镜像名称:标签>
docker run -d --name my-server -p 8080:80 my-web-app:1.0

哇,看起来有点长,但只要掌握几个核心选项就非常方便。

  • -d (--detach): 在后台运行容器。如果没有这个选项,容器会占用终端,导致您无法进行其他操作。对于服务器应用程序来说,这是必不可少的选项!
  • --name my-server: 为容器指定一个名称,例如 my-server。指定名称后,以后管理起来会非常方便,比如使用 docker stop my-server。
  • -p 8080:80: 这是连接端口最重要的选项。它表示外部(主机)端口:内部(容器)端口。上面的例子意思是“将进入我电脑 8080 端口的请求转发到容器的 80 端口!”。因此,我们可以通过 http://localhost:8080 访问容器内部运行的 Web 服务器。
  • my-web-app:1.0: 最后,指定要运行的镜像名称。

总结

今天,我们体验了 Docker 的三个核心流程:

  1. 管理 (ps, stop, rm): 清理现有容器
  2. 构建 (build): 创建自己的镜像
  3. 运行 (run): 将我的应用程序发布到世界

即使只熟悉这三个命令周期,您也能自信地处理大多数 Docker 任务。现在,尝试将您只在自己电脑上运行的项目制作成 Docker 镜像,分享给朋友,或者轻松部署到服务器上吧!


标签: Docker, 容器, 虚拟化, DevOps, 开发, 服务器, 镜像构建, Docker基础


Comments

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注