No description
Find a file
2020-08-29 16:20:01 +01:00
.github/workflows Extract path from Docker Image (#1) 2020-08-29 16:20:01 +01:00
dist Extract path from Docker Image (#1) 2020-08-29 16:20:01 +01:00
src Extract path from Docker Image (#1) 2020-08-29 16:20:01 +01:00
.editorconfig Extract path from Docker Image (#1) 2020-08-29 16:20:01 +01:00
.eslintrc.json Extract path from Docker Image (#1) 2020-08-29 16:20:01 +01:00
.gitignore Extract path from Docker Image (#1) 2020-08-29 16:20:01 +01:00
action.yml Extract path from Docker Image (#1) 2020-08-29 16:20:01 +01:00
LICENSE Extract path from Docker Image (#1) 2020-08-29 16:20:01 +01:00
package-lock.json Extract path from Docker Image (#1) 2020-08-29 16:20:01 +01:00
package.json Extract path from Docker Image (#1) 2020-08-29 16:20:01 +01:00
README.md Extract path from Docker Image (#1) 2020-08-29 16:20:01 +01:00

Docker Extract

A GitHub Action for extracting files from a Docker Image.

- uses: shrink/actions-docker-extract@v1
  with:
    image: 'docker.pkg.github.com/github/semantic/semantic'
    path: '/etc/motd'

Inputs

All inputs are required.

ID Description Example
image Docker Image to extract files from alpine
path Path (from root) to a file or directory within Image /etc/motd

Examples

Build, Extract

Using docker/build-push-action to build a Docker Image and then extract the contents of the /app directory within the newly built image to upload as a dist artifact.

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Build Docker Image
        uses: docker/build-push-action@v1
        with:
          repository: my-example-image
          tags: latest
      - uses: shrink/actions-docker-extract@v1
        with:
          image: my-example-image
          path: /app
      - name: Upload Dist
        uses: actions/upload-artifact@v2
        with:
          path: ${{ steps.extract.outputs.destination }}/app
          name: dist

Login, Pull, Extract

Using docker/login-action to authenticate with the GitHub Package Registry to extract from a published Docker Image.

jobs:
  extract:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Login to GitHub Package Registry
        uses: docker/login-action@v1
        with:
          registry: docker.pkg.github.com
          username: ${{ github.repository_owner }}
          password: ${{ secrets.GITHUB_TOKEN }}
      - uses: shrink/actions-docker-extract@v1
        with:
          image: ${{ github.repository }}/example-image:latest
          path: /app
      - name: Upload Dist
        uses: actions/upload-artifact@v2
        with:
          path: ${{ steps.extract.outputs.destination }}/app
          name: dist