千家信息网

怎么编写docker file文件

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要讲解了"怎么编写docker file文件",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"怎么编写docker file文件"吧!1、导出d
千家信息网最后更新 2026年11月02日怎么编写docker file文件

这篇文章主要讲解了"怎么编写docker file文件",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"怎么编写docker file文件"吧!

1、导出docker插件

1、导入docker maven插件



org.codehaus.mojo
build-helper-maven-plugin
1.9.1


timestamp-property

timestamp-property




current.time
yyyyMMddHHmmss
GMT+8



com.spotify
dockerfile-maven-plugin
1.4.0


default
install

build
push





registry

******

172.16.1.146/wondertek/${project.artifactId}

${project.version}-${current.time}

文章标题

文章分类




target/docker-test-1.0.0.jar




2、dockerFiley文件编写

# 拉取基础镜像
FROM hub.c.163.com/library/java:8-jdk
# 镜像的作者
MAINTAINER csp@xxx.com

#挂载目录,通过 VOLUME 指令创建的挂载点,无法指定主机上对应的目录,是自动生成的
VOLUME ["/data1","/data2"]

RUN ["mkdir", "-p", "/app"]

#结合maven插件dockerfile-maven-plugin的打包使用
ARG JAR_FILE
ADD ${JAR_FILE} /app/app.jar

#为后面的 RUN, CMD, ENTRYPOINT, ADD 或 COPY 指令设置镜像中的当前工作目录。
#WORKDIR /usr/local/docker/test

#拷贝当前目录文件到容器/app
#COPY . /app

#与 COPY 类似,从 build context 复制文件到镜像。不同的是,如果 src 是归档文件(tar, zip, tgz, xz 等),文件会被自动解压到 dest。
#ADD src dest

#设置环境变量,环境变量可被后面的指令使用
ENV EVN_SET_TEST "WELCOME TO DOCKERFILE CONTAINER!"

##################
# RUN、CDM、ENTRYPOINT 命令都包含两种格式:Shell 格式和 Exec 格式
# CMD还可以放在ENTRYPOINT后,为其传递参数。
##### shell 格式:######
## 底层会调用 /bin/sh -c

# 在容器中运行指定的命令
RUN echo $EVN_SET_TEST

# 容器启动命令 只有最后一个生效,CMD 可以被 docker run 之后的参数替换。
#只有最后一个生效
CMD echo "CMD Hello world"

#配置容器启动时运行的命令
ENTRYPOINT echo "ENTRYPOINT Hello, $EVN_SET_TEST"

###### Exec 格式: #####
## 当指令执行时,会直接调用 ,不会被 shell 解析
# ENTRYPOINT ["/bin/echo", "Hello, $EVN_SET_TEST"]
# 正确写法应该为:
# ENTRYPOINT ["/bin/sh", "-c", "echo Hello, $EVN_SET_TEST"]

# 为Exec 格式的ENTRYPOINT传递参数,结果输出Hello, $EVN_SET_TEST dockerfile world
# CMD ["dockerfile world"]

#只有最后一个生效
ENTRYPOINT ["java","-jar","/app/app.jar"]

#表示哪个端口提供服务的提示,宿主机如果要访问,需要结合-P参数联合使用。
EXPOSE 8080

3、maven 命令

build镜像: mvn clean package dockerfile:build -DskipTests

发布镜像不会编译:mvn dockerfile:push

编译发布: mvn clean install -Ddockerfile.skip

命令 说明
dockerfile.skip Disables the entire dockerfile plugin; all goals become no-ops.
dockerfile.build.skip Disables the build goal; it becomes a no-op.
dockerfile.tag.skip Disables the tag goal; it becomes a no-op.
dockerfile.push.skip Disables the push goal; it becomes a no-op.

感谢各位的阅读,以上就是"怎么编写docker file文件"的内容了,经过本文的学习后,相信大家对怎么编写docker file文件这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

文件 命令 格式 镜像 参数 容器 指令 目录 只有 插件 文章 学习 内容 变量 环境 编译 运行 不同 主机 作者 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网与科技 苏州找大状互联网科技有限公司 互联网科技排名 科技伦理 互联网公司 互联网科技生活的内容 华脉科技工业互联网产品 海南科技产业互联网平台 深圳前海聚择互联网科技有限公司 科技互联网的估值 北京大学互联网科技怎么样 银川新华互联网科技职业技术培训学校图片 科技互联网大厂 岳阳华臻互联网科技有限公司 杭州壁岐互联网科技有限公司 富国互联网科技002692 济南小医互联网科技有限公司招聘 科技互联网公司两年变化 恒生科技指数 中概互联网 保山浩联互联网科技有限公司 武汉亿视互联网科技有限公司 广州为想互联网科技有限公司 互联网科技公司起名 科技互联网企业 互联网科技垄断 互联网 科技公司 联恩商钥互联网科技有限公司 四个字互联网科技公司取名 厦门千工互联网科技有限公司 畅思互联网科技 互联网科技融合创新
0