Docker images for an Ubuntu LTS container with fish installed as the default shell.
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.
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) |
Pulling the latest image
docker pull dideler/fish-shell # from DockerHub
docker pull ghcr.io/dideler/fish-shell # from GitHubRunning 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
3Using 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