Skip to content

Fail to set rootless mode when docker container action is used #404

@thiagocrepaldi

Description

@thiagocrepaldi

Many Github Actions use Docker container action feature to run their actions within a container.

One of such actions is https://github.com/ammaraskar/sphinx-action, which builds Sphinx documentation within a container
Under the hood, it has a action.yml file that calls docker like this:

runs:
  using: 'docker'
  image: 'Dockerfile'

As a result, github actions calls docker in a way similar to docker run -v "/var/run/docker.sock":"/var/run/docker.sock" ..., that is, it maps /var/run/docker.sock into the container in a hard-coded fashion. actions/runner#1754 is open for 2 years to fix that upstream, but no action was ever taken. This is where I found your action and really hoped it would save my day :)

Here is my repro

    - name: Print docker information
      run: |
        docker info --format "{{ .ClientInfo.Context }}"
    - name: Use Docker in rootless mode.
      uses: ScribeMD/[email protected]
    - name: Print docker information
      run: |
        docker info --format "{{ .ClientInfo.Context }}"
    - name: Build HTML using Sphinx
      uses: ammaraskar/sphinx-action@master

The output shows that I was in rootless mode already and after your action I was still rootless. This is expected as this user really uses rootless without the actions kicking in

image
As a result, the action fail with Unable to find image 'd3590b:bfe2895916b74aa18c9cb453deb270bb' locally because the rootfull docker is used instead of the rootless, in which context the image doesnt exist.

It seems the -v mapping take precedence over everything, so your action doesnt work. Any way you could find a workaround and make your action even more powerful?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions