docker pull sqitch/sqitch
curl -L https://git.io/JJKCn -o sqitch && chmod +x sqitch
./sqitch help
docker pull sqitch/sqitch
WebRequest -Uri "https://git.io/JTAi6" -OutFile "sqitch.bat"
.\sqitch help
This project is the source for creating the official Sqitch Project Docker Image. It's built on Debian bookworm-slim in an effort to keep the image as small as possible while supporting all known engines. It includes support for managing PostgreSQL, CockroachDB, YugabyteDB, SQLite, MariaDB (MySQL), and Firebird databases, and other images may be built to support for the other database engines that Sqitch supports.
docker-sqitch.sh
shell script is the easiest way to run Sqitch from
a Docker image. The script mounts the current directory and the home
directory, so that it acts on the Sqitch project in the current directory
and reads configuration from the home directory almost as if it was running
natively on the local host. It also copies over most of the environment
variables that Sqitch cares about, for transparent configuration.docker-sqitch.bat
] batch script is an alternative for running Sqitch
on Windows. Modeled on docker-sqitch.sh
, it also detects environment
variables and mounts the project and home directories. Support for
configuration files will vary by database client, as many on Windows
differ from their *unix counterparts and won't map into the container home
directory.sqitch
user. On macOS and Windows
this works well, as files created by Sqitch in the working directory on the
host will be properly owned by the host user. On Linux, however,
docker-sqitch.sh
runs the container with the UID and GID of the current
host user, again so that files created by Sqitch will be owned by that user.
If you find that the container cannot access configuration files in your
home directory or write change scripts to the local directory, run
sudo docker-sqitch.sh
to run as the root user. Just be sure to chown
files that Sqitch created for the consistency of your project.sqitch
or
root
are the hint you'll want to look for.host.docker.internal
instead of localhost
. Connections should
work transparently when running Docker on Windows or macOS, although not yet
on Linux (watch this PR
for it to land). In the meantime you can use a NAT gateway
container to forward traffic to the
Docker host.Dockerfile
s in the
appropriately-named subdirectories of this repository.