mirror of
https://forgejo.merr.is/annika/actions-docker-extract.git
synced 2025-12-10 13:13:15 -05:00
No description
| .github | ||
| dist | ||
| src | ||
| .editorconfig | ||
| .eslintrc.json | ||
| .gitignore | ||
| action.yml | ||
| LICENSE | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
Docker Extract
A GitHub Action for extracting files from a Docker Image.
- uses: shrink/actions-docker-extract@v1
with:
image: 'ghost:alpine'
path: '/var/lib/ghost/current/core/built/assets/.'
Inputs
All inputs are required.
| ID | Description | Examples |
|---|---|---|
image |
Docker Image to extract files from | alpine ghcr.io/github/super-linter:latest |
path |
Path (from root) to a file or directory within Image | files/example.txt files files/. |
📎 To copy the contents of a directory the
pathmust end with/.otherwise the directory itself will be copied. More information about the specific rules can be found via the docker cp documentation.
Outputs
| ID | Description | Example |
|---|---|---|
destination |
Destination path containing the extracted file(s) | .extracted-1598717412/ |
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 }}
name: dist
Login, Pull, Extract
Using docker/login-action to authenticate with the GitHub Container Registry to extract from a published Docker Image.
jobs:
extract:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Login to GitHub Container Registry
uses: docker/login-action@v1
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GHCR_PAT }}
- uses: shrink/actions-docker-extract@v1
with:
image: ghcr.io/${{ github.repository }}:latest
path: /app/.
- name: Upload Dist
uses: actions/upload-artifact@v2
with:
path: ${{ steps.extract.outputs.destination }}
name: dist