docker 镜像制作(自定义 jdk、centos 版本)

  1. 准备好 Docker 环境(基于Centos 7,Docker version 19.03.12)

  2. 拉取一个 centos 7 作为基础镜像: docker pull centos:7
    docker 镜像制作(自定义 jdk、centos 版本)

  3. 启动镜像: docker run -ti centos:7 bash ,直接进入到了容器中

  4. 替换容器中的 centos 源,参考: 阿里镜像地址 ,能使下载更快

  5. 容器中安装常用 linux 命令,安装JDK(参考:OPENJDK官网)并配置环境变量

  6. 打成新的镜像:docker commit -m ‘提交描述’ CONTAINER ID 新镜像名 (使用docker ps 查看刚运行的镜像对应的 CONTAINER ID)
    docker 镜像制作(自定义 jdk、centos 版本)

  7. 登录阿里云镜像仓库: sudo docker login [email protected] registry.cn-shenzhen.aliyuncs.com

  8. docker tag ff62f1b94af3 registry.cn-shenzhen.aliyuncs.com/oyc/centos7_openjdk8:1.0.0
    docker 镜像制作(自定义 jdk、centos 版本)
    阿里仓库上已经创建了oyc的命名空间,之前打tag的时候是写的 registry.cn-shenzhen.aliyuncs.com/francis/,此命名空间属于别人的,所以push镜像时报 denied: requested access to the resource is denied 错误。

  9. docker push registry.cn-shenzhen.aliyuncs.com/oyc/centos7_openjdk8:1.0.0

  10. 阿里镜像仓库查看上传的镜像
    docker 镜像制作(自定义 jdk、centos 版本)

  11. 验证自制镜像是否成功
    docker 镜像制作(自定义 jdk、centos 版本)

  12. 基于自制的 centos7_openjdk8 镜像再制作一个镜像,编写Dockerfile
    docker 镜像制作(自定义 jdk、centos 版本)

  13. 将 Dockerfile 和 my-first-docker-1.0.1-SNAPSHOT.jar 置于同一目录下,执行:docker build -t francis666 . 后面有一个点,表示当前目录
    docker 镜像制作(自定义 jdk、centos 版本)

  14. 启动镜像,并验证: docker run -d -p 8088:8080 francis666:latest
    docker 镜像制作(自定义 jdk、centos 版本)