如何在自己的 docker 容器内使用 github actions/checkout@v2

rel*_*89n 7 php containers github docker github-actions

我有自己的 php 图像,我想将其用于我的项目来运行测试。

container: rela589n/doctrine-event-sourcing-php:latest

services:
  test_db:
    image: postgres:13-alpine
    env:
      POSTGRES_DB: des
      POSTGRES_USER: des_user
      POSTGRES_PASSWORD: p@$$w0rd

steps:
  - uses: actions/checkout@v2

  - whatever_needed_to_run_tests_inside_container
Run Code Online (Sandbox Code Playgroud)

结帐操作失败并出现以下错误:

EACCES: permission denied, open '/__w/doctrine-event-sourcing/doctrine-event-sourcing/6977c4d4-3881-44e9-804e-ae086752556e.tar.gz'
Run Code Online (Sandbox Code Playgroud)

这是合乎逻辑的,因为在新的 docker 容器中没有这样的文件夹结构。我想做的是在提供的虚拟机内运行结帐操作runs-on: ubuntu-20.04并为 docker 配置卷,以便它可以访问代码。但是我不知道这样做不是一个好的做法,也不知道如何实施。我想即使可以这样做,它也不适用于其他操作。

小智 3

尝试使用我自己的 Docker 镜像时遇到了同样的问题。就我而言,无法即时安装所需的所有内容,因此我必须解决此问题。GitHub 似乎使用user 1001namerunnergroup 121name运行 Docker 镜像docker。添加组后,添加用户,添加用户的sudoers问题就解决了。请注意,结账路径的开头/_w很奇怪。如果我在没有容器的情况下执行actions/checkout@v2,则路径为/home/runner. 还不知道如何解决这个问题。