【问题标题】:Enable experimental features on github workflow images在 github 工作流图像上启用实验功能
【发布时间】:2020-05-27 00:33:03
【问题描述】:

我们正在尝试在 github 工作流上的 ubuntu-latest 图像上启用实验性功能,因为想使用 squash 来减小图像大小。但是这是不可能的,因为我们收到以下错误:

/home/runner/work/_temp/59d363d1-0231-4d54-bffe-1e3205bf6bf3.sh:行 3:/etc/docker/daemon.json:权限被拒绝

对于以下工作流程:

- name: Build, tag, and push TOING image to Amazon ECR
  id: build-image
  env:
    ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }}
    ECR_REPOSITORY: TOING/TOING/TOING_REPO
    IMAGE_TAG: TOING_TEST
    DOCKER_CLI_EXPERIMENTAL: enabled
  run: |
    #build and push images
    sudo rm -rf /etc/docker/daemon.json
    sudo echo '{"experimental": true}' >> /etc/docker/daemon.json
    sudo systemctl restart docker
    docker build -t $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG -f core/TOING/Dockerfile .
    docker push $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG
    echo "::set-output name=image::$ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG"

我们已验证 daemon.json 文件已正确更新,并且我们的命令也使用了 sudo,如图所示。

我们也为此开通了issue on github,但目前还没有回复。如有任何帮助,我将不胜感激。

PS:“experimental": true"experimental": "enabled"都试过了。

【问题讨论】:

    标签: ubuntu yaml github-actions


    【解决方案1】:

    我们已验证 daemon.json 文件已正确更新

    根据您的错误消息,它看起来没有正确更新:

    /home/runner/work/_temp/59d363d1-0231-4d54-bffe-1e3205bf6bf3.sh:行 3:/etc/docker/daemon.json:权限被拒绝

    这里发生了什么?好吧,sudo 命令将以root 运行给定的命令。但是您正在执行 shell 重定向,它由 shell 本身处理,而不是由 sudo 处理。换句话说,您正在重定向 sudo 的输出

    如果您想以root 身份写入文件,那么您实际上需要run a command that writes the file, and then run that using sudo。例如:

    echo '{"experimental": true}' | sudo tee -a /etc/docker/daemon.json
    

    【讨论】:

      【解决方案2】:

      这对我来说效果最好。

      tmp=$(mktemp)
      sudo jq '.+{experimental:true}' /etc/docker/daemon.json > "$tmp"
      sudo mv "$tmp" /etc/docker/daemon.json
      sudo systemctl restart docker.service
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-08-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-08
        • 1970-01-01
        • 2021-09-10
        • 1970-01-01
        相关资源
        最近更新 更多