From ffcf2215de1d90aad23aaf03e82d805660327830 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Sun, 28 Feb 2021 03:07:15 -0500 Subject: [PATCH] docs: add documentation for git push to dokku-in-docker Also add an example for custom docker container arguments. Refs #4441 --- docs/getting-started/install/docker.md | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/docs/getting-started/install/docker.md b/docs/getting-started/install/docker.md index 3ef6a2240..946ab2ebc 100644 --- a/docs/getting-started/install/docker.md +++ b/docs/getting-started/install/docker.md @@ -9,7 +9,7 @@ docker pull dokku/dokku:0.23.8 Next, run the image. ```shell -docker run \ +docker container run \ --env DOKKU_HOSTNAME=dokku.me \ --name dokku \ --publish 3022:22 \ @@ -31,7 +31,11 @@ Dokku is run in the following configuration: - The docker socket is mounted into container - The "web installer" is not supported. -Application repositories, plugin config, and plugin data is persisted to disk within the specified host directory for `/var/lib/dokku`. +Application repositories, plugin config, as well as plugin data are persisted to disk within the specified host directory for `/var/lib/dokku`. + +Other docker container options can also be used when running Dokku, though the specific outcome will depend upon the specified options. For example, the Dokku container's nginx port can be bound to a specific host ip by specifying `--publish $HOST_IP:8080:80`, where `$HOST_IP` is the IP desired. Please see the [docker container run documentation](https://docs.docker.com/engine/reference/commandline/run/) for further explanation for various docker arguments. + +## Plugin Installation To install custom plugins, create a `plugin-list` file in the host's `/var/lib/dokku` directory. The plugins listed herein will be automatically installed by Dokku on container boot. This file should be the following format: @@ -46,6 +50,8 @@ postgres: https://github.com/dokku/dokku-postgres.git redis: https://github.com/dokku/dokku-redis.git ``` +## SSH Key Management + To initialize ssh-keys within the container, use `docker exec` to enter the container and run the appropriate ssh-keys commands. ```shell @@ -53,3 +59,15 @@ docker exec -it dokku bash ``` Please see the [user management documentation](/docs/deployment/user-management.md) for more information. + +## Pushing Applications + +When exposing the Dokku container's SSH port (22) on 3022, something similar to the following will need to be setup within the user's `~/.ssh/config`: + +``` +Host dokku.docker + HostName 127.0.0.1 + Port 3022 +``` + +In the above example, the hostname `127.0.0.1` is being aliased to `dokku.docker`, while the port is being overriden to `3022`. All SSH commands - including git pushes - for the hostname `dokku.docker` will be transparently sent to `127.0.0.1:3022`.