三水营销网站开发,2021最火电商平台,手机商城设计,手写代码网站Dockerfile 是一种文本文档#xff0c;它包含了一组用户可以调用以创建镜像的指令。用户可以使用 docker build 命令#xff0c;根据 Dockerfile 中定义的步骤#xff0c;自动构建出一个新的 Docker 镜像。
以下是一些常用的 Dockerfile 指令#xff1a;
FROM#xff1a…Dockerfile 是一种文本文档它包含了一组用户可以调用以创建镜像的指令。用户可以使用 docker build 命令根据 Dockerfile 中定义的步骤自动构建出一个新的 Docker 镜像。
以下是一些常用的 Dockerfile 指令
FROM设置基础镜像必须为第一个非注释指令。 ADD将文件从 Docker 主机复制到 Docker 镜像。这个命令也可以接受一个 URL 作为参数。 COPY类似于 ADD但只关注复制本地文件而不会提取和解压等操作。 CMD为启动的容器提供默认的执行命令只能在 Dockerfile 中使用一次。 ENTRYPOINT与 CMD 类似但是它的参数会被 CMD 的内容或者 docker run 的参数所覆盖。 接下来是一个 Dockerfile 示例
第一步 准备材料
准备好基础镜像
确定好你的基础镜像地址我们这里以dockerhub.kubekey.local/your-image作为示例
准备好要导入到基础镜像的文件
我们这里以gateway.jar、auth.jar、business.jar、job.jar还有一个配套的run.sh指令作为示例.
第二步 创建dockerfile
进入和第一步的相同目录执行
vim Dockerfile写入如下指令
# 基础镜像
FROM dockerhub.kubekey.local/your-image# 将 JAR 文件添加到 Docker 镜像中
ADD gateway.jar /app/gateway.jar
ADD auth.jar /app/auth.jar
ADD business.jar /app/business.jar
ADD job.jar /app/job.jar# 添加启动脚本
ADD run.sh /app/run.sh# 设定工作目录
WORKDIR /app# 设置 run.sh 为可执行
RUN chmod x /app/run.sh# 当 Docker 容器启动时自动执行 run.sh
ENTRYPOINT [/app/run.sh]执行:x保存退出。
注意你需要把 FROM dockerhub.kubekey.local/your-image 中的 your-image 替换为你需要的镜像名称。同时你需要确保所有的 JAR 文件和 run.sh 脚本都在你执行 docker build 命令的当前目录下。
run.sh 需要包含启动你的 JAR 文件的命令例如run.sh内容如下
#!/bin/bash
java -jar /app/gateway.jar
java -jar /app/auth.jar
java -jar /app/business.jar
java -jar /app/job.jar 第三步 构建镜像
执行指令
docker build -t my-image:1.0 格式是docker build -t image_name后面的冒号后跟的是tag信息例如版本号等如果你执行docker build -t my-image docker默认会给你打latest的标签也就是说实际上会执行docker build -t my-image:latest。latest标签这里表示最新版本。
第四部 查看镜像
执行指令就可以看到你构建好的镜像了
docker images | grep my-image