我使用 docker 启动了一个 runner,并在我的 workflow 里的某个 step 调用了 maven 的 docker,希望使用 docker 自动编译代码并产生输出。
但是 docker run -v .:/app 挂载失败了,ls /app 发现是空的,但是目录却可以挂进去。
runner 是通过 docker.sock 把我宿主机的 docker 挂进去的,不知道会不会受到影响,以及如何解决呢? ![]()
我使用 docker 启动了一个 runner,并在我的 workflow 里的某个 step 调用了 maven 的 docker,希望使用 docker 自动编译代码并产生输出。
但是 docker run -v .:/app 挂载失败了,ls /app 发现是空的,但是目录却可以挂进去。
runner 是通过 docker.sock 把我宿主机的 docker 挂进去的,不知道会不会受到影响,以及如何解决呢? ![]()
我也遇到了好像,你猜怎么回事。
jobs:
build:
# 运行环境(Gitea Actions 支持的 runner 环境)
runs-on: ubuntu-latest
container:
image: visonforcoding/gitea-runner-jdk8:0.1
options: --user root
volumes:
- /home/yours/config-data/gitea/config:/config:rw
这里挂宿主机的绝对路径就可以了。一开始一直以为是runner容器里的目录。
发现挂上去之后都是空的。
并且当挂了一个找不到的相对目录时。会报错
failed to create container: ‘Error response from daemon: create ./config: “./config” includes invalid characters for a local volume name, only “[a-zA-Z0-9][a-zA-Z0-9_.-]” are allowed. If you intended to pass a host directory, use absolute path’
看上去也是支持挂宿主机的目录的。![]()