说明:gcr.io、quay.io以及其他一些国外镜像仓库,无法正常访问,可以利用阿里云的镜像构建服务获取这一部分镜像。
注册GitHub账号
因为阿里云构建镜像是从GitLab等公共代码仓库获取Dockerfile,然后根据此Dockerfile进行构建,所以需要事先创建好仓库和Dockerfile。
注册GitHub账号完成并登录后,创建一个repository,然后直接在根目录下面创建一个Dockerfile,内容如下:
FROM jenkinsci/blueocean
如果只是获取原始的镜像,那么这样写就可以了,如果我们还需要在想要获取的镜像的基础上进行再次构建,那么可以一起写进Dockerfile,例如:
FROM jenkinsci/blueocean:1.19.0-bcc31d32159f
USER root
ENV TZ=Asia/Shanghai
RUN apk update && apk add tzdata && export TZ
完成后直接提交即可。
注册阿里云账号并实名认证
使用部分阿里云的服务必须要实名认证之后才可以,请先注册阿里云账号并完成实名认证。
创建阿里云容器镜像仓库
登录进入阿里云首页后,搜索“容器镜像服务”:
先创建一个命名空间:
创建个人镜像仓库:
这里会要求绑定GitHub账号,按照提示一步步完成授权即可,我的已经绑定完成:
镜像仓库创建完成:
进入仓库:
进行构建,选择“海外机器构建”:
需要先添加一个构建规则:
开始构建:
可以查看构建日志中的构建过程日志:
获取构建成功的镜像
登录阿里云个人镜像仓库,其中仓库的url不同可用区域可能不同:
docker login registry.cn-zhangjiakou.aliyuncs.com -u zengyongjie
Password:
Login Succeeded
拉取镜像到本地:
docker pull registry.cn-zhangjiakou.aliyuncs.com/jenkinsci-blueocean/jenkinsci-blueocean:v1.190.2
v1.190.2: Pulling from jenkinsci-blueocean/jenkinsci-blueocean
e7c96db7181b: Pull complete
f910a506b6cb: Pull complete
c2274a1a0e27: Pull complete
cfd274bca1a3: Pull complete
310bf9783ca1: Pull complete
78ee9767e6d3: Pull complete
62b45c08a3a6: Pull complete
75350eee00de: Pull complete
003206529270: Pull complete
b955ebfa8813: Pull complete
b8ce2bc27caf: Pull complete
6ebcad4c9580: Pull complete
3029a01cd89f: Pull complete
bb02fe4edb0c: Pull complete
37ed1605f701: Pull complete
0527b856e3f8: Pull complete
Digest: sha256:2e8f2e82672d7086611f58f9eed08de3b0daa8134ceb4e9b8c3e96f126a7695f
Status: Downloaded newer image for registry.cn-zhangjiakou.aliyuncs.com/jenkinsci-blueocean/jenkinsci-blueocean:v1.190.2
registry.cn-zhangjiakou.aliyuncs.com/jenkinsci-blueocean/jenkinsci-blueocean:v1.190.2
这样可以给镜像打上需要的Tag,然后就可以使用了。