User Configuration¶
User configuration is in the ~/.config/dockerdo/dockerdo.yaml file.
Example config:
always_interactive: false
always_record_inotify: false
default_distro: ubuntu
default_docker_registry: null
default_docker_run_args: ''
default_image: ubuntu:latest
default_image_name_template: dockerdo-{base_image}:{base_image_tag}-{session_name}
default_remote_delay: 0.3
default_remote_host: null
ssh_key_path: /home/user/.ssh/id_rsa.pub
always_interactive¶
Boolean. If True, then commands are always run in interactive mode, without needing to specify -i|--interactive.
This comes at a performance penalty.
always_record_inotify¶
Boolean. If True, then filesystem events are recorded even if you don’t specify --record to dockerdo run.
default_distro¶
The default distro of your dockerfiles, unless overridden with --distro in dockerdo init.
The distro affects how sshd is installed.
default_docker_registry¶
The default docker registry to use, unless overridden with --registry in dockerdo init.
default_docker_run_args¶
The default arguments to pass to docker run, unless turned off with --no-default-args in dockerdo run.
default_image¶
The default base image, unless overridden with --image in dockerdo init.
default_image_name_template¶
The template to use for the overlay image tag. You can use the following variables:
base_image: the base image name, without the tagbase_image_tag: the base image tagsession_name: the session name
default_remote_delay¶
The default delay to add to all remote commands, unless overridden with --remote-delay in dockerdo init.
default_remote_host¶
Use this remote host, unless overridden with --remote in dockerdo init.
ssh_key_path¶
Path to the ssh public key to install in the container.
Session Configuration¶
Session configuration is stored in the ~/.local/share/dockerdo/${session_name}/session.yaml file for persistent sessions, and in a temporary directory for ephemeral sessions.
You can inspect the session configuration with dockerdo status, or by editing the file directly.
You can modify some of the configuration variables after the session has been created, but not all of them.
base_image¶
The base image that the overlay image is based on.
If you modify this, you must rerun dockerdo overlay and dockerdo build.
container_name¶
The name of the container. You can change this until you run the container, after which it is fixed.
container_state¶
The expected state of the container. Modifying this will not change the state of the container.
container_username¶
The username to use in the container.
If you modify this, you must rerun dockerdo overlay and dockerdo build.
distro¶
The distro of the base image.
If you modify this, you must rerun dockerdo overlay and dockerdo build.
docker_registry¶
The docker registry to use.
docker_run_args¶
The arguments to pass to docker run.
env¶
The environment variables to export to the container.
image_tag¶
The tag of the overlay image.
Don’t modify this value directly, instead rerun dockerdo build.
local_work_dir¶
The working directory on the local host.
name¶
The name of the session.
record_inotify¶
Whether to record filesystem events. You can change this until you run the container, after which it is fixed.
remote_delay¶
The delay to add to all remote commands, to allow slow sshfs to catch up. You can change this at any time, and the new value will affect future commands.
remote_host¶
The remote host to use. This value should not be modified.
remote_host_build_dir¶
The build directory on the remote host. This value should not be modified.
session_dir¶
The session directory. This value should not be modified.
ssh_port_on_remote_host¶
The port on the remote host that the container ssh service will be published as.
The docker run command will receive a flag like -p ${ssh_port_on_remote_host}:22.
The port doesn’t need to be exposed through the firewall of the remote host, as we will jump through the sshd on the remote host.
You can change this until you run the container, after which it is fixed.