一般来说,根据以下三步,可以将脚本命令翻译成 Dockerfile。

  1. 选择一个基础镜像。可在 Docker Hub 中进行查找镜像。由于前端项目依赖于 Node 环境,我们选择 node:14-alpine 作为基础镜像,其中基于轻量操作系统 alpine,内置了 node14/npm/yarn 等运行环境。
  2. 将以上几个脚本命令放在 RUN 指令中。
  3. 启动服务命令放在 CMD 指令中。 ```shell

    选择一个体积小的镜像 (~5MB)

    FROM node:14-alpine

设置为工作目录,以下 RUN/CMD 命令都是在工作目录中进行执行

WORKDIR /code

把宿主机的代码添加到镜像中

ADD . /code

安装依赖

RUN yarn

EXPOSE 3000

启动 Node Server

CMD npm start ``` 还差两步,就可以将该最简单示例运行起来:

  1. 通过 Dockfile 构建镜像 (Image)
  2. 通过镜像运行容器 (Container)

    构建镜像 (Image)

    docker build -t deploy-demo .

    -t [name:tag] 构建镜像的名称

使用docker images查看
image.png

运行容器

docker run --rm -p 3000:3000 deploy-demo

根据该镜像运行容器

如果需要在后台运行则添加 -d 选项

—rm: 当容器停止运行时,自动删除容器

-p: 3000:3000,将容器中的 3000 端口映射到宿主机的 3000 端口,左侧端口为宿主机端口,右侧为容器端口

此时在本地访问 http://localhost:3000 访问成功

使用docker ps查看容器
image.png