一、原因
使用docker-compose部署,会自动从docker hub拉取所需镜像,但是目前访问受限,无法正常拉取,部署过程中会出现如下问题。
二、解决办法
使用GitHub将镜像推送至国内镜像仓库
2.1、在阿里云acr创建私有仓库(先创建namespace)
2.1、在github上新建一个项目
2.2、创建文件夹以及文件
内容如下
name: tag image and push to aliacr
on:
workflow_dispatch:
inputs:
region-id:
description: 'acr region'
default: 'cn-hangzhou'
required: true
pull-image:
description: 'Image to pull'
default: 'vesoft/nebula-metad:v3.8.0'
required: true
push-image:
description: 'Image to push'
# 修改为自己的阿里云镜像仓库地址
default: 'registry.cn-hangzhou.aliyuncs.com/nebula_zhs/nebula-metad:v3.8.0'
required: true
jobs:
build:
runs-on: ubuntu-latest
environment: production
steps:
# 1.1 Login to ACR
- name: Login to ACR with the AccessKey pair
uses: aliyun/acr-login@v1
with:
region-id: "${{ github.event.inputs.region-id }}"
access-key-id: "${{ secrets.ACCESS_KEY_ID }}"
access-key-secret: "${{ secrets.ACCESS_KEY_SECRET }}"
# 1.2 Buid and push image to ACR
- name: Build and push image to ACR
run: |
docker pull ${{ github.event.inputs.pull-image }}
docker tag ${{ github.event.inputs.pull-image }} ${{ github.event.inputs.push-image }}
docker push ${{ github.event.inputs.push-image }}
2.3、设置AK和SK
登录阿里云控制台,在右上角头像处选择
在GitHub保存
三、验证
3.1运行
3.2、查看运行结果
查看阿里云镜像仓库
这也我们就可以将镜像保存到阿里云的镜像仓库,用于应用部署