docker - 如何在 Github 操作中为计算引擎虚拟机拉取 Docker 镜像?

标签 docker google-compute-engine github-actions

使用 GH 操作,我正在构建图像并将其推送到我的 Docker 存储库。完成 setup-gcloud 后,如何将其拉到 Google 计算引擎上:

      steps:
      - name: setup gcloud
        uses: GoogleCloudPlatform/github-actions/setup-gcloud@master
        with:
          version: '290.0.1'
          project_id: ${{ secrets.GCP_PROJECT_ID }}
          service_account_key: ${{ secrets.GCP_SA_KEY }}

我知道GCE-Github actions和 google/docker-registry。但因为我的虚拟机不是 container-optimized我要运行

docker pull [docker-hub-repo] 并随后在特定目录中执行docker-compose up

最佳答案

我没有意识到显而易见的gcloud compute ssh命令足以做到这一点。

- 运行:gcloudcomputessh --zone $GCE_INSTANCE_ZONE $GCE_INSTANCE --command 'docker login -u [用户] -p [密码] && docker pull [存储库:标签]'

2022 年编辑

为了更好的安全性,请使用 Github Secrets 。 为了避免通过 run 直接使用 SSH 命令,有一个作业 appleboy/ssh-action@master 用于此目的;

jobs:
  deploy:
    runs-on: [ubuntu-latest]
    steps:

    #Job starts here
    - name: executing remote ssh commands
      uses: appleboy/ssh-action@master
      with:
        host: ${{ secrets.WEBSPACE_HOST }}
        username: ${{ secrets.WEBSPACE_USER }}
        password: ${{ secrets.WEBSPACE_PASS }}

        #Bash commands may be placed line by line here
        script: |
          cd ...
          git pull
          docker-compose up --build --detach

关于docker - 如何在 Github 操作中为计算引擎虚拟机拉取 Docker 镜像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62398458/

相关文章:

github-actions - 如何在github actions中的其他运行命令中使用curl的响应

github-actions - Github Actions - 如何在同一 env 部分中使用 env 中定义的变量?

virtualization - docker中AUFS和devicemapper有什么区别?

Docker 错误 standard_init_linux.go :185: exec user process caused "exec format error with Qnap TS131P

google-cloud-platform - Google 无服务器 VPC 连接器无法访问具有多个网络接口(interface)的 GCE 实例

wordpress - 如何在 Google Compute Engine 中安装我的 Comodo SSL 证书?

docker - Container OS下可写无状态分区的用途

docker - time.LoadLocation 正常工作,但在我的 docker 实例上引发错误!我如何解决它?

postgresql - Postgres docker 容器与托管解决方案

使用 ImageMagick 的 GitHub Action : Create a PNG and commit it to the repo