【问题标题】:How to pull a Docker image in Github actions for a compute engine VM?如何在 Github 操作中为计算引擎 VM 拉取 Docker 映像?
【发布时间】:2020-10-05 11:15:44
【问题描述】:

使用 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

【问题讨论】:

    标签: docker google-compute-engine github-actions


    【解决方案1】:

    我没有意识到明显的gcloud compute ssh 命令就足够了。

    - run: gcloud compute ssh --zone $GCE_INSTANCE_ZONE $GCE_INSTANCE --command 'docker login -u [user] -p [password] && docker pull [repository:tag]'

    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
    

    【讨论】:

      【解决方案2】:

      您可以通过 Docker Desktop 在多个 Linux 平台以及 macOS 和 Windows10 上install Docker Engine

      “docker pull”命令默认从 Docker Hub 拉取镜像。您还可以通过指定存储库的路径从desired repository 中提取图像。

      您需要install Docker Compose,这样您才能运行“docker-compose up”命令,该命令开始编写并运行您的整个应用程序。

      【讨论】:

      • 感谢您的回答。我知道这些东西是如何工作的——我正在寻找的东西是显而易见的。请参阅我的解决方案。但最好在容器优化的 GCE 上运行它以获得完整的 gcloud sdk 支持。
      猜你喜欢
      • 1970-01-01
      • 2021-01-09
      • 1970-01-01
      • 2021-02-27
      • 1970-01-01
      • 2020-06-25
      • 2019-01-01
      • 2021-03-17
      • 2022-11-18
      相关资源
      最近更新 更多