一般来说,根据以下三步,可以将脚本命令翻译成 Dockerfile。
- 选择一个基础镜像。可在 Docker Hub 中进行查找镜像。由于前端项目依赖于 Node 环境,我们选择 node:14-alpine 作为基础镜像,其中基于轻量操作系统 alpine,内置了 node14/npm/yarn 等运行环境。
- 将以上几个脚本命令放在 RUN 指令中。
- 启动服务命令放在 CMD 指令中。
```shell
选择一个体积小的镜像 (~5MB)
FROM node:14-alpine
设置为工作目录,以下 RUN/CMD 命令都是在工作目录中进行执行
WORKDIR /code
把宿主机的代码添加到镜像中
ADD . /code
安装依赖
RUN yarn
EXPOSE 3000
启动 Node Server
CMD npm start ``` 还差两步,就可以将该最简单示例运行起来:
- 通过 Dockfile 构建镜像 (Image)
- 通过镜像运行容器 (Container)
构建镜像 (Image)
docker build -t deploy-demo .
-t [name:tag] 构建镜像的名称
使用docker images
查看
运行容器
docker run --rm -p 3000:3000 deploy-demo
根据该镜像运行容器
如果需要在后台运行则添加 -d 选项
—rm: 当容器停止运行时,自动删除容器
-p: 3000:3000,将容器中的 3000 端口映射到宿主机的 3000 端口,左侧端口为宿主机端口,右侧为容器端口
此时在本地访问 http://localhost:3000 访问成功
使用docker ps
查看容器