例如,在项目CI中会出现docker命令和gradle命令同时存在的情况,官方镜像无法满足我们的要求,就需要我们自己打镜像
1. 创建Dockerfile文件
touch Dockerfile
vim Dockerfile
拷贝Dockerfile文件内容
FROM gradle:6.8-jdk8
USER root
ENV DOCKER_CHANNEL edge
ENV DOCKER_VERSION 18.05.0-ce
RUN set -x \
&& curl -fSL "https://download.docker.com/linux/static/${DOCKER_CHANNEL}/x86_64/docker-${DOCKER_VERSION}.tgz" -o docker.tgz \
&& tar -xzvf docker.tgz \
&& mv docker/* /usr/local/bin/ \
&& rmdir docker \
&& rm docker.tgz \
&& docker -v
2. 构建docker镜像
#注意末尾有个 . ,指当前目录下的Dockerfile文件,可以使用-f指定其他路径
# -t: 镜像的名字及标签
docker build -t docker-gradle .
3. 查看构建出来的镜像
docker images
4. 打tag
#registry.cn-hangzhou.aliyuncs.com/namespace是自己的镜像仓库地址
docker tag docker-gradle:latest registry.cn-hangzhou.aliyuncs.com/namespace/docker-gradle:6.8-jdk8
5. 推送之后自己的远程镜像仓库
docker push registry.cn-hangzhou.aliyuncs.com/namespace/docker-gradle:6.8-jdk8