1 获取基础centos镜像
docker pull centos:7
2 制作dockerFile
FROM openjdk:8-slim-buster
ADD business-merchant-service.jar business-merchant-service.jar
ENV JAVA_HOME=/home/jdk8
ENV PATH=$PATH:$JAVA_HOME/bin
RUN bash -c 'touch /business-merchant-service.jar'
ENTRYPOINT ["java","-jar","/business-merchant-service.jar"]
3 运行第一步下载的centos
docker run -dit --name business-baseimage 7e6257c9f8d8
4 进入镜像
docker exec -it 47712c2082eb7bfda0700300e280c2e68999930cf535ec9ffb1a61bb32c5acf1 /bin/bash
5 安装jdk
下载安装的部分就省略了, 自己找教程吧, 贴一下配置环境变量(至于为什么用/root/.bashrc 自己看下和/etc/profile的区别,他们除了登录加载顺序不一样, 其他用法基本一样)
1 编辑 /root/.bashrc
# .bashrc
# User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
#上面的都是系统原始就有的 下面这个是自己的配置
export JAVA_HOME=/home/jdk8
export PATH=$PATH:$JAVA_HOME/bin
2 保存编辑并生效配置
source /root/.bashrc
6 将安装好的jdk容器重新生成自己的基础镜像
docker commit 47712c2082eb business-baseimages:v1
docker commit 容器id 打包好的镜像名称:打包好的镜像版本
可以看到自己打包的镜像结果
7 上传到阿里的dockerhub
阿里云有详细的上传教程 自己看下