在 CMD 中操作 Docker 的指南

Docker 是一个开源的容器化平台,它允许开发者将应用程序及其依赖项打包到容器中,以便于快速部署、扩展和管理。在本指南中,我们将通过 CMD(命令提示符)来操作 Docker,并解决一个具体问题:如何构建并运行一个简单的 Node.js 应用程序。

环境准备

在开始之前,请确保已在您的计算机上安装并配置 Docker。您可以访问 [Docker 官网]( 下载并安装 Docker Desktop。

确保 Docker 正在运行,输入以下命令查看 Docker 版本:

docker --version
  • 1.

如果一切正常,您将看到 Docker 的版本信息。

方案概述

我们的目标是构建一个简单的 Node.js 应用,并在 Docker 容器中运行它。下面是解决方案的步骤:

  1. 创建 Node.js 应用的源代码。
  2. 编写 Dockerfile 文件以定义映像。
  3. 使用 Docker 命令构建映像。
  4. 运行容器并访问应用。

步骤 1:创建 Node.js 应用的源代码

首先,在您的计算机上创建一个新的文件夹,并在其中创建一个名为 app.js 的文件,以下是示例代码:

// app.js
const http = require('http');

const hostname = '0.0.0.0';
const port = 3000;

const server = http.createServer((req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain');
  res.end('Hello, Docker!\n');
});

server.listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
});
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.

接下来,创建一个 package.json 文件以管理应用的依赖项:

{
  "name": "docker-node-app",
  "version": "1.0.0",
  "description": "A simple Node.js application running in Docker",
  "main": "app.js",
  "scripts": {
    "start": "node app.js"
  },
  "dependencies": {}
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.

步骤 2:编写 Dockerfile 文件

在同一文件夹中创建一个名为 Dockerfile 的文件,以下是 Dockerfile 的内容:

# 使用官方 Node.js 作为基础镜像
FROM node:14

# 设置工作目录
WORKDIR /usr/src/app

# 将 package.json 复制到工作目录
COPY package.json ./

# 安装应用依赖
RUN npm install

# 将应用源代码复制到工作目录
COPY . .

# 暴露应用运行的端口
EXPOSE 3000

# 定义容器启动时要运行的命令
CMD ["npm", "start"]
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.

步骤 3:使用 Docker 命令构建映像

现在,我们可以在 CMD 中运行 Docker 命令来构建映像。在 CMD 中,切换到应用目录,并运行以下命令:

docker build -t docker-node-app .
  • 1.

这条命令的说明如下:

  • docker build:构建镜像的命令。
  • -t docker-node-app:为我们的镜像指定一个名称 docker-node-app
  • .:上下文路径,当前目录包含 Dockerfile。

构建完成后,您将看到类似于以下的输出,表示镜像已成功创建。

步骤 4:运行容器并访问应用

使用以下命令运行容器:

docker run -d -p 3000:3000 --name my-node-app docker-node-app
  • 1.
  • -d:在后台运行容器。
  • -p 3000:3000:将主机的 3000 端口映射到容器的 3000 端口。
  • --name my-node-app:为容器指定名称为 my-node-app

容器运行后,您可以在浏览器中访问 http://localhost:3000/,您会看到 “Hello, Docker!” 的显示。

操作流程序列图

下面是我们操作流程的序列图,以帮助理解每一步的执行过程:

Browser Docker CMD User Browser Docker CMD User docker build -t docker-node-app . 构建映像 返回构建成功 docker run -d -p 3000:3000 --name my-node-app docker-node-app 运行容器 返回容器ID 访问 http://localhost:3000/ 返回 Hello, Docker!

操作成功率饼状图

在我们整个操作过程中,确保每一步都成功完成,以下是一个简单的饼状图表示每一步的成功率:

Docker 操作成功率 50% 50% 0% Docker 操作成功率 构建成功 运行成功 失败

结论

在本指南中,我们涵盖了如何在 CMD 中使用 Docker 来构建和运行一个简单的 Node.js 应用。通过这几步,您应该对 Docker 的基本概念有了更深的理解,并能够利用 Docker 进行容器化开发。希望这个示例能帮助您在以后的开发工作中更好地利用 Docker,让您的应用程序轻松部署与管理。