构建docker镜像

要使用 Dockerfile 构建镜像,可以按照以下步骤操作:

1. 创建一个名为 Dockerfile 的文本文件,可以使用任意文本编辑器来创建这个文件。

2. 在 Dockerfile 中编写构建镜像所需的各种指令。以下是一些常用指令:

- `FROM`:指定基础镜像,表示构建的镜像会基于这个镜像进行。
- `RUN`:用于在容器中执行命令,可用于安装依赖、配置环境等。
- `COPY` 或 `ADD`:用于将文件从主机拷贝到镜像中。
- `WORKDIR`:指定工作目录,即在容器中执行命令时的当前目录。
- `EXPOSE`:指定容器运行时需要监听的端口。

这只是一小部分常用指令,更多指令可以参考 Docker 官方文档。

例如:

FROM node:8.9.4
WORKDIR /tilesrv
RUN npm install -g cnpm --registry=https://registry.npm.taobao.org
RUN cnpm install pm2 -g
COPY ./package.json /tilesrv/package.json
RUN cnpm i
COPY . /tilesrv
EXPOSE 3000
ENV LD_LIBRARY_PATH=/tilesrv/bin:$LD_LIBRARY_PATH
CMD ["pm2-runtime", "start.js", "-i", "4"]n

3. 编写完 Dockerfile 后,可以通过 `docker build` 命令将 Dockerfile 构建为镜像。在终端中进入存放 Dockerfile 的目录,执行以下命令:

docker build -t image_name:tag .

其中 `image_name` 是你给镜像起的名称,`tag` 是版本标签,`.` 表示 Dockerfile 所在目录为构建上下文。

例如:

docker build -t tilesrv:1.0 .

4. Docker 会按照指令逐个执行,并且会将每一条指令执行结果缓存,如果前面的指令未发生变化,则直接使用缓存。因此,在构建过程中如果有指令发生了变化,可以使用 `--no-cache` 参数禁用缓存重新构建。

5. 等待镜像构建完成后,可以通过 `docker images` 命令查看构建成功的镜像。

通过以上步骤,就可以使用 Dockerfile 构建镜像了。需要注意的是,Dockerfile 中的每个指令都具有顺序依赖性,所以编写顺序要正确。如果需要使用多阶段构建或者其他高级特性,可以查阅 Docker 官方文档或其他资源进行深入学习。

posted @ 2023-10-31 20:34  O波V步  阅读(22)  评论(0编辑  收藏  举报