Dockerfile编写、Dockerfile常用命令

FROM
#基于某个镜像进行创建

FROM java:8
FROM centos

ENV
#指定环境变量

ENV JAVA_OPTS = "-Xms1g -Xmx1g"

MAINTAINER
#镜像发布的作者信息被LABEL替代

MAINTAINER fangyuan

LABEL
#可以使用docker inspect 查看到

LABEL org.opencontainers.image.authors="SvenDowideit@home.org.au"

RUN
#执行的命令

RUN ["unzip" ,"java.zip"]
RUN cd home
RUN mkdir file

COPY
#将文件拷贝到容器中

COPY index.html home/index.html
COPY java.jar java.jar

ADD
#添加到容器中 自动解压

ADD application.jar home/application.jar

VOLUME
#卷挂载

VOLUME ["/var/www", "/var/log/apache2", "/etc/apache2"]

EXPOSE
#端口暴露

EXPOSE 80 443

CMD
#命令执行

CMD["java","-jar","app.jar"]

ENTRYPOINT
#命令执行

ENTRYPOINT["java","-jar","app.jar"]

WORKDIR
#工作地址,workdir之后操作的文件的路径可剔除掉workdir中的

WORKDIR /path/to/workdir

Dcokerfile发布springboot项目

FROM java:8

COPY index.text home/index.text

ADD javaApplication.jar  home/javaApplication.jar

ENTRYPOINT ["java","-jar", "home/javaApplication.jar","&"]

-----------------

FROM java:8

WORKDIR /home

ENV java_opts="-Xms100m -Xmx100m"

COPY index.text index.text

ADD javaApplication.jar  javaApplication.jar

ENTRYPOINT ["sh","-c","java -jar javaApplication.jar $java_opts"]

使用shell脚本执行

1、定义一个shell >> entrypoint.sh

#!/bin/sh

exec java ${JAVA_OPTS} -jar javaApplication.jar "$@"

2、编写Dockerfile

#定义镜像基础
FROM java:8
#定义工作位置
WORKDIR /home
#工作环境
ENV JAVA_OPTS="-Xms500m -Xmx500m"
#将shell文件拷贝到容器
COPY entrypoint.sh entrypoint.sh
#将shell脚本授权
RUN chmod 755 entrypoint.sh
#复制jar包到容器
COPY javaApplication.jar  javaApplication.jar
#执行脚本
ENTRYPOINT ["./entrypoint.sh"]

3、将本地的entrypoint.sh授权

chmod 755 entrypoint.sh

运行Dockerfile 打包成镜像

docker build -f Dockerfile -t 镜像名称:版本 .
#如果执行的文件名就是Dockerfile可省略不写
docker build  -t 镜像名称:版本 .

运行镜像

docker run -itdp 8081:8082 --name digua -e JAVA_OPTS="-Xms512m -Xmx512m -XX:+UseParallelOldGC" -v /home/dfile:/home:rw 镜像名:版本
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值