如何使用DockerFile文件生成镜像

如何使用DockerFile文件生成镜像

DockerFile参数含义
  • FROM:指定创建镜像的基础镜像

  • MAINTAINER:Dockerfile作者信息

  • ADD 指令和 COPY 的使用格式一致(同样需求下,官方推荐使用 COPY)

    COPY:复制指令,从上下文目录中复制文件或者目录到容器里指定路径

    ADD :在源文件为 tar 压缩文件的话,压缩格式为 gzip, bzip2 以及 xz 的情况下,会自动复制并解压到 目标路径

  • ENV:设置环境变量,定义了环境变量,那么在后续的指令中,就可以使用这个环境变量,这个变量是全局性的在容器中可以直接打印 echo $ENVIRONMENT

  • ARG: 与 ENV 作用域不一样。ARG 设置的环境变量仅对 Dockerfile 内有效,构建好的镜像内不存在此环境变量

  • WORKDIR:指定工作目录。用 WORKDIR 指定的工作目录

  • RUN和CMD类似

    RUN:运行Linux系统的命令使用,在 docker build时运行

    CMD 在docker run 时运行,如果 Dockerfile 中如果存在多个 CMD 指令,仅最后一个生效,较少使用

  • ENTRYPOINT:指定运行容器启动过程执行命令

DockerFile样例
FROM jfrog.test.com.cn/dev7-docker-/java_base (公司设置的基础镜像,根据个人设置)
WORKDIR /opt/portfolio-mgt (切换到镜像容器中的指定目录中相当于cd)

COPY target/portfolio-mgt-core-*.jar app.jar (复制宿主机数据到镜像内部使用)

ENV JAVA_OPTS="-XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap -XX:MaxRAMFraction=1 -XshowSettings:vm" (设置环境变量参数)

ENV ENVIRONMENT="dev"

RUN echo "ENV is $ENVIRONMENT, JAVA_OPTS is $JAVA_OPTS $JAVA_DEBUG_OPTS"
ENTRYPOINT exec java $JAVA_OPTS -Denv=$ENVIRONMENT -jar /opt/app.jar(指定运行容器启动过程执行命令)
如何使用DockerFile生成镜像文件

1、使用docker build进行镜像的构建

​ 将DockerFile文件和springboot项目的jar放到同一目录下直接使用:

​ docker build -t nginx:v3 .

nginx:v3为构建的镜像名称,一般是(镜像名称:镜像标签)

注意后边有个点,如果dockerfile和jar不在同一目录下时,需要使用-f指定dockerfile文件路径

2、在docker运行时比如上传了文件,是上传到docker容器目录里,把容器删掉后文件丢失,因此需要将docker中的文件存放目录挂载到宿主机。

docker run 时使用-v参数指定挂载目录

docker run -v (宿主机目录 :docker中的目录) 其他运行的参数接着加上就好

2021年的第一篇博客,哈哈
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码厚炮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值