Skip to content

Latest commit

 

History

History
86 lines (69 loc) · 3.12 KB

File metadata and controls

86 lines (69 loc) · 3.12 KB

fish 🐟 + docker 🐳

Docker Image Version Docker Image Size Docker Pulls GitHub Actions Build

Docker images for an Ubuntu LTS container with fish installed as the default shell.

Use case

Useful when wanting to play around with fish in a pristine and ephemeral environment.
Useful when reproducibility is desired (e.g. controlled environment for running a fish package CI pipeline).

Not intended for developing on the fish codebase.
To build the shell from source with the help of Docker, see fish-shell's Dockerfile instead.

Versions

See image tags on DockerHub or on GitHub for available fish versions.

Images are based on the latest Ubuntu LTS available at the time of building.

Dockerfile Fish Series Ubuntu Base
Dockerfile.v4 4.x noble (24.04)
Dockerfile.v3 3.x jammy (22.04)
Dockerfile.v2 2.x bionic (18.04)

Examples

Pulling the latest image

docker pull dideler/fish-shell # from DockerHub
docker pull ghcr.io/dideler/fish-shell # from GitHub

Running commands on a specific version (as one-off or interactive session)

$ docker container run --rm dideler/fish-shell:3.7.1 --version
fish, version 3.7.1
$ docker container run -it --rm dideler/fish-shell:3.0.0
root@aa26d2209674 /# for i in (seq 1 3)
                         echo $i
                     end
1
2
3

Using the image in a CircleCI build for testing a fish package

version: 2

jobs:
  build:
    docker:
      - image: dideler/fish-shell:3.7.1
    shell: fish
    steps:
      - checkout
      - run:
          name: Install Fisher
          command: |
            apt-get update --quiet
            apt-get install --yes --quiet curl
            curl -sL git.io/fisher | source && fisher install jorgebucaran/fisher
            fisher --version
      - run:
          name: Install fish-cd-git
          command: |
            fisher install <fish_plugins
            fisher install .
      - run:
          name: Run tests
          command: fishtape test/*.fish