这里镜像仓库使用阿里云仓库,其他仓库可能类似,可以参考,个人实例可以免费使用。
背景
遇到的问题:需要定制一个自己的镜像,在上面安装一些环境,然后将镜像托管到公共镜像仓库,在其他地方使用或者共享给别人使用。本文使用阿里云通用系统镜像,在这个系统上安装jdk、git、maven等环境,然后再将镜像托管到阿里云镜像仓库中。
第一步:找个镜像模版
首先找一个镜像模版,比如:
docker pull alibaba-cloud-linux-3-registry.cn-hangzhou.cr.aliyuncs.com/alinux3/alinux3:231220.1@sha256:5af3c09d2bc083865ea6f7c1afe88904c10e4b5f323eb7c2fc1fc71c3396d09b
使用这个系统镜像模版,我们在这个系统的基础上安装一些开发环境
第二步:安装环境
启动实例:
进入系统后,这里安装过程省略.
第三步:将container打包成镜像
查看容器id
docker container ls -a
将安装好环境的容器提交
docker commit 56fc4921b165 jdk8-maven3-git-x64:3.3.0
第四步:将镜像推送到仓库
登录仓库:
docker login --username=xxxx*****@163.com registry.cn-beijing.aliyuncs.com
使用"docker tag"命令重命名镜像,并将它通过专有网络地址推送至Registry。
docker tag 5f2dccbc3a3a registry.cn-beijing.aliyuncs.com/thor-docker/thor-test-runner:3.3.0
使用 “docker push” 命令将该镜像推送至远程。
docker push registry.cn-beijing.aliyuncs.com/thor-docker/thor-test-runner:3.3.0
去阿里云镜像仓库中查询,就已经存在了。
第五步:使用
Dockerfile使用方式
FROM registry.cn-beijing.aliyuncs.com/thor-docker/thor-test-runner:3.3.0