如何一台服务器起几个Docker
引言
Docker 是一种开源的容器化平台,它可以将应用程序和其依赖的库、环境等打包到一个容器中,实现跨平台、快速部署和扩展等优势。在一个服务器上可以运行多个 Docker 容器,每个容器相互隔离,互不干扰。对于一个刚入行的小白来说,可能不太清楚如何在一台服务器上同时运行多个 Docker 容器。本篇文章将会详细介绍如何一台服务器起几个 Docker 的步骤和每一步需要做的事情,并提供相应的代码示例。
步骤概览
下表展示了整个过程的步骤概览:
步骤 | 描述 |
---|---|
第一步 | 安装 Docker |
第二步 | 编写 Dockerfile 文件 |
第三步 | 构建 Docker 镜像 |
第四步 | 运行 Docker 容器 |
第一步:安装 Docker
在开始之前,首先需要在服务器上安装 Docker。以下是在 Ubuntu 系统上安装 Docker 的步骤:
- 更新包管理器的软件包列表:
sudo apt update
- 安装 Docker 的依赖包:
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
- 添加 Docker 的官方 GPG 密钥:
curl -fsSL | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
- 添加 Docker 的软件源:
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
- 更新软件包列表:
sudo apt update
- 安装 Docker:
sudo apt install -y docker-ce docker-ce-cli containerd.io
- 验证 Docker 是否安装成功:
sudo docker run hello-world
如果能够成功输出 "Hello from Docker!" 字样,则说明 Docker 安装成功。
第二步:编写 Dockerfile 文件
Dockerfile 是用于构建 Docker 镜像的文件,其中包含了构建镜像所需的指令和配置。在这一步,我们将编写一个简单的 Dockerfile 文件。
- 创建一个名为
Dockerfile
的文本文件:
touch Dockerfile
- 使用编辑器打开
Dockerfile
文件,并输入以下内容:
# 使用官方的 Node.js 镜像作为基础镜像
FROM node:14
# 设置工作目录
WORKDIR /app
# 复制 package.json 和 package-lock.json 到工作目录
COPY package*.json ./
# 安装依赖包
RUN npm install
# 复制所有源代码到工作目录
COPY . .
# 暴露应用程序的端口
EXPOSE 3000
# 定义启动命令
CMD [ "npm", "start" ]
第三步:构建 Docker 镜像
在完成 Dockerfile 文件的编写后,我们需要使用该文件构建 Docker 镜像。
-
打开终端,进入 Dockerfile 文件所在的目录。
-
运行以下命令来构建 Docker 镜像:
docker build -t myapp .
其中,myapp
是自定义的镜像名称。
第四步:运行 Docker 容器
在构建 Docker 镜像后,我们可以使用该镜像来运行 Docker 容器。
- 运行以下命令来启动 Docker 容器:
docker run -d -p 80:3000 myapp
其中,80
是服务器上的端口,3000
是容器内的端口。将服务器上的端口映射到容器内的端口可以使得容器中的应用程序可以通过服务器的 IP 地址访问。
- 验证容器是否成功运行:
docker ps