Docker实现自定义jkd镜像上传阿里云
作者:Agome99
本文详解基于Ubuntu构建JDK8自定义Docker镜像及上传至阿里云仓库的流程,涵盖Dockerfile编写、镜像构建、容器运行、环境变量配置,以及阿里云账户准备、镜像推送与测试等关键步骤
一.自定义镜像
基于Ubuntu制作JDK8镜像
1.下载Ubuntu镜像
创建一个目录把东西放一起,我创建的是d2目录
- 命令:docker pull ubuntu 我已经下载过了显示已经有了
2.创建并编辑dockerfile
- 命令:
vim Dockerfile
- 在里面加入一下内容:
#1.指定基础镜像,并且必须是第一条指令 FROM ubuntu:latest #2.指明该镜像的作者和其电子邮件 MAINTAINER xyz "xyz@qq.com" #3.在构建镜像时,指定镜像的工作目录,之后的命令都是基于此工作目录,如果不存在,则会创建目录 WORKDIR /usr/local/java #4.一个复制命令,把jdk安装文件复制到镜像中并解压,语法:ADD <src>... <dest> ADD jdk-8u221-linux-x64.tar.gz /usr/local/java/ #5.配置环境变量 ENV JAVA_HOME=/usr/local/java/jdk1.8.0_221 ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar ENV PATH=$JAVA_HOME/bin:$PATH
3.上传jkd到d2目录下
4.执行dockerfile创建镜像
- 命令:
docker build -t my-jkd:v1.0 .
- 查看所有镜像:
docker images
5. 创建并启动容器
命令:
docker run -itd --name j1 my-jkd:v1.0
6.进入容器测试jkd
- 进入容器命令:
docker exec -it j1 bash
- 测试jdk命令:
java -version
二.将镜像上传至阿里云
前期准备
1. 注册阿里云账户
2.创建镜像仓库的命名空间
3.创建镜像仓库
(创建镜像仓库时可以绑定一个代码托管网站,例如:github)
我这里做演示就没绑定了
后面第四步就是按上面这张图
4.push(推)镜像,将镜像推送到Registry
- 设置访问密码
- 登录阿里云 Container Registry
- 将镜像推送到Registry
- 上传成功:
4.测试
- 删除jkd镜像
- 从阿里云上拉取
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。