Visit Docker Hub see all available tags.
To keep your data out of Docker container, we do a volume(
/data) here, and you can change it based on your situation.
# Pull image from Docker Hub. $ docker pull gogs/gogs # Create local directory for volume. $ mkdir -p /var/gogs # Use `docker run` for the first time. $ docker run --name=gogs -p 10022:22 -p 10080:3000 -v /var/gogs:/data gogs/gogs # Use `docker start` if you have stopped it. $ docker start gogs
Files will be store in local path
/var/gogs in my case.
/var/gogs keeps Git repoistories and Gogs data:
/var/gogs |-- git | |-- gogs-repositories |-- ssh | |-- # ssh public/private keys for Gogs |-- gogs |-- conf |-- data |-- log |-- templates
If you're more comfortable with mounting data to a data container, the commands you execute at the first time will look like as follows:
# Create data container docker run --name=gogs-data --entrypoint /bin/true gogs/gogs # Use `docker run` for the first time. docker run --name=gogs --volumes-from gogs-data -p 10022:22 -p 10080:3000 gogs/gogs
Most of settings are obvious and easy to understand, but there are some settings can be confusing by running Gogs inside Docker:
start.shalready made a symbolic link for you.
start.shalready setup a user with name
192.168.99.100). But if you want to access your Gogs instance from a different physical machine, please fill in with the hostname or IP address of the Docker host machine.
22inside Docker, but you expose it by
10022:22, then use
10022for this value.
3000inside Docker, and you expose it by
10080:3000, but you still use
3000for this value.
Full documentation of settings can be found here.
:exclamation::exclamation::exclamation:Make sure you have volumed data to somewhere outside Docker container:exclamation::exclamation::exclamation:
Steps to upgrade Gogs with Docker:
docker pull gogs/gogs
docker stop gogs
docker rm gogs
.dockerignoreseems to be ignored during Docker Hub Automated build