自定义镜像【项目部署】

本文介绍了Docker镜像的构建原理,包括Dockerfile中的关键指令如FROM、ENV、COPY、RUN、EXPOSE和ENTRYPOINT的应用,以及如何基于不同基础镜像(如ubuntu:16.04和openjdk:11.0-jre-buster)编写和构建Docker镜像。
摘要由CSDN通过智能技术生成

镜像就是包含了应用程序,程序运行的系统函数库,运行配置等文件包,构建镜像的过程其实就是把相应文件打包的过程

1)常用指令:

Dockerfile就是一个文本文件,其中包含一个个的指令,用指令来说明要执行的操作来构建镜像,将来Docker可以根据Dockerfile帮助我们构建镜像

指令说明示例
FROM指定基础镜像FROM centos:7
ENV设置环境变量,可以在后面指令使用ENV key value
COPY拷贝本地文件到镜像指定的目录COPY .jrell.tar.gz /tmp
RUN执行Linux的shell命令,一般是安装过程的命令RUN tar -zxvf /tmp/jrell.tar.gz && EXPORTS path=/tmp/jrell:$path
EXPOSE指定容器运行时监听的端口,给镜像使用这观看EXPORT 8080
ENTRYPOINT镜像中应用的启动命令,容器运行时调用ENTRYPOINT java -jar xx.jar

2)编写Dockerfile文件:

基于系统编写基础的Dockerfile镜像文件:

# 指定基础镜像
FROM ubuntu:16.04
# 配置环境变量,JDK的安装目录、容器内时区
ENV JAVA DIR=/usr/local
# 拷贝jdk和java项目的包
COPY ./jdk8.tar.gz $JAVA_DIR/COPy ./docker-demo.jar /tmp/app.jar
# 安装JDK
RUN cd $JAVA_DIR |&& tar -xf ./jdk8.tar.gz&& mv ./jdkl.8.0_144 ./java8
# 配置环境变量
ENV JAVA HOME=$JAVA DIR/java8ENV PATH=SPATH:SJAVA HOME/bin
# 暴露端口
EXPOSE 端口号
# 入口,java项目的启动命令
ENTRYPOINT ["java","-jar","/app.jar"]

基于jdk编写Dockerfile镜像文件:

# 基础镜像
FROM openjdk:11.0-jre-buster
# 拷贝jar包
COPY docker-demo.jar /app.jar
# 暴露端口
EXPOSE 端口号
# 入口
ENTRYPOINT ["java","-jar","/app.jar"]

3)构建镜像:

编写好Dockerfile,就可以使用命令构建镜像了:将Dockerfile文件和对应的java.tar包上传到服务器执行一下命令创建镜像

docker build -t 镜像名:镜像版本 Dockerfile所在目录
  • -t :后跟镜像名,格式是repository:tag的格式,不指定tag时,默认latest

  • . :是指定dockerfile所在的文件目录,如果即使当前目录,Dockerfile所在目录就使用.表示

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值