pipeline 获取 tag_Docker镜像获取(gcr.io等)- 2.0

本文介绍了如何通过Aliyun的自动构建服务来获取被墙的Docker镜像,如gcr.io的镜像。通过创建代码仓库,绑定Gitee账号,设置构建规则,提交代码更改,检查构建状态,最后下载镜像,实现安全便捷地获取最新镜像。
摘要由CSDN通过智能技术生成

a0d077ceb12c648106da457fcdf1916d.png

在 Docker镜像获取(gcr.io等) 中, 介绍了几种获取 Docker 镜像的方式,对于大部分镜像来说都可以通过这些方式获得,但是对于较新的镜像,上面几种方式就很不方便了。所以今天介绍一种简单又安全的方式来获取被墙的镜像 -- 通过 DockerHub 或者 Aliyun 等仓库的自动构建来基于被墙镜像来创建自己的镜像。

我已经在 Aliyun上创建了这个仓库,可以直接使用 soolaugust/docker-images 的方法来获取镜像。

下面通过 Aliyun 的自动构建来说明如何来获取被墙的镜像:

  1. 创建 Github 仓库 (或者其他代码仓库)

Aliyun 支持的代码仓库如下:

b0d62b91f396e8e74fbcae2fe56a2e40.png

Github创建仓库后,创建一个Dockerfile文件,示例如下:

cc0cb3ece8f47c5653ff3e20c7c2c2cc.png

2. 绑定 Aliyun 仓库

这里首先要创建 Aliyun 账号,就不在这里赘述了。然后在容器镜像服务中绑定 Github 账号:

afc4d1d9a6254180a8b4dc661a41573c.png

然后创建用于构建的仓库并绑定刚才创建的 Github 仓库:

d16306ce95410191e94f8bdc69d0eeb3.png

b79ae43019dfe3fe7366f6ee295cf6e0.png

76d46db62690b2012726df5d486f8230.png

上面就绑定好了,然后我们进入管理界面可以看到构建的规则:

0e166d9ca1b7b561342a54b9c1d70538.png

也就是说我们提交了 release-v$versiontag提交后,就会读取Dockfile,然后进行构建。当然可以制定其他的构建规则,具体可以自行查看。

3. 提交代码来构建镜像

更改Dockerfile

$image 替换成你要的镜像, 比如 gcr.io/ml-pipeline/persistenceagent:0.1.7

提交修改

git add .
git commit -m "add images 'gcr.io/ml-pipeline/persistenceagent:0.1.7'" # 修改信息格式为 add images $your_images
git tag release-vml-pipeline-persistenceagent-0.1.7 # 提交格式为 git tag release-v$your_image中 ‘/, :’替换成‘-’
git push --tags

4. 查看是否构建成功

在刚才的构建规则页面查看是否构建成功:

cdc032c0d9ee54c4c34c1f4bd9003738.png

可以看到构建成功。

5. 下载镜像

docker pull registry.cn-hangzhou.aliyuncs.com/soolaugust/image:ml-pipeline-persistenceagent-0.1.7
docker tag registry.cn-hangzhou.aliyuncs.com/soolaugust/image:ml-pipeline-persistenceagent-0.1.7 gcr.io/ml-pipeline/persistenceagent:0.1.7
docker rmi registry.cn-hangzhou.aliyuncs.com/soolaugust/image:ml-pipeline-persistenceagent-0.1.7

这样就完成了下载。

如果觉得手工操作过于麻烦,也可以使用脚本,具体的我已经放在Github上了:

soolaugust/docker-images​github.com
0d6b69b53d7796d37fc2a3a39aed197f.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下面是加了注释的代码: ```python # 定义两个空列表,用于存储不同正则化参数下的训练误差和测试误差 train_errors = [] test_errors = [] # 遍历一系列正则化参数值 for lambda_val in lambdas: # 定义管道对象,包含多项式特征转换和SGD线性回归模型 pipeline = Pipeline([ ('polynomial_features', PolynomialFeatures(degree=5)), ('ridge_regression', c.SGDLinearRegressor(batch_size=20, eta=0.01, tau_max=1000, epsilon=0.00001, lambda_=lambda_val, random_state=42)) ]) # 定义训练误差和测试误差 train_mse = 0 test_mse = 0 # 对每个正则化参数值进行10次训练和测试 for i in range(10): # 生成20个训练样本和对应标签,1000个测试样本和对应标签 X_train, y_train = c.generate_data(20) X_test, y_test = c.generate_data(1000) # 在训练集上拟合模型 pipeline.fit(X_train.reshape(-1, 1), y_train) # 在训练集和测试集上进行预测 y_train_pred = pipeline.predict(X_train.reshape(-1, 1)) y_test_pred = pipeline.predict(X_test.reshape(-1, 1)) # 计算并累加训练误差和测试误差 train_mse += mean_squared_error(y_train, y_train_pred) test_mse += mean_squared_error(y_test, y_test_pred) # 将每个正则化参数值下的训练误差和测试误差除以10,并存储到对应的列表中 train_errors.append(train_mse / 10) test_errors.append(test_mse / 10) ``` 注释中解释了代码的每个部分的作用和功能,包括定义列表、遍历正则化参数、定义管道对象、生成数据、拟合模型、预测,以及计算训练误差和测试误差。通过注释,可以更加清晰地理解代码的功能和执行流程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值