自定义镜像

自定义镜像

镜像结构:镜像是将应用程序及所需要的系统函数库,环境,配置,依赖打包而成

入口(Entrypoint):镜像运行入口,一般是程序启动的脚本和参数

层(Layer):在BaseImage基础上添加安装包、依赖、配置等,每次操作都会形成新的一层

基础镜像(BaseImage):应用依赖的系统函数库、环境、配置、文件等

Dockerfile就是一个文本文件,其中包含一个个的指令,用指令来说明要执行什么操作来构建镜像。每个指令都会形成一层Layer

在这里插入图片描述

基于Ubuntu镜像构建一个新的镜像,运行一个java项目

1.新建一个空文件夹docker-demo

2上传docker-demo.jar文件到docker-demo这个目录

3.上传jdk8.tar.gz文件到docker-demo这个目录

4.拷贝Dockerfile到docker-demo这个目录

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 ./jdk1.8.0_144 ./java8

# 配置环境变量
ENV JAVA_HOME=$JAVA_DIR/java8
ENV PATH=$PATH:$JAVA_HOME/bin

# 暴露端口
EXPOSE 8090
# 入口,java项目的启动命令
ENTRYPOINT java -jar /tmp/app.jar

5.进入docker-demo

6.运行命令

最后的点表示DockerFile所在目录

docker build -t javaweb:1.0 .

构建成功

image-20220814165438651

运行

docker run --name web -p 8090:8090 -d javaweb:1.0

访问http://192.168.205.128:8090/hello/count

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xXaqwPBd-1660868710785)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220814165631860.png)]

基于java:8-alpine镜像

修改Dockfile

image-20220814170049602

运行

docker build -t javaweb:2.0 .
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值