Commands¶
dockerdo install¶
Creates the dockerdo user configuration file (
~/.config/dockerdo/dockerdo.yaml).Adds the dodo alias to your shell’s rc file (
.bashrc).Adds the dockerdo shell completion to
.bashrc.
dockerdo init¶
Initializes a new session.
Defines the work dir
${WORK_DIR}on the local host.Mounts the remote host build directory using
sshfsinto${WORK_DIR}/${REMOTE_HOST}.To activate the session in the current shell, use
source $(dockerdo init). Later, you can usesource ./local/share/dockerdo/${session_name}/activateto reactivate a persistent session.
dockerdo overlay¶
Creates
Dockerfile.dockerdowhich overlays a given image, making it dockerdo compatible.Installs
sshd.Copies your ssh key into
authorized_keysinside the image.Changes the CMD to start
sshdand sleep forever.
Supports base images using different distributions:
--distro [ubuntu|alpine].
dockerdo build¶
Runs
dockerdo overlay, unless you already have aDockerfile.dockerdo.Runs
docker buildwith the overlayed Dockerfile.Supports remote build with the
--remoteflag. Note that it is up to you to ensure that the Dockerfile is buildable on the remote host.
dockerdo push¶
Only needed when the remote host is different from the local host.
Pushes the image to the docker registry, if configured.
If no registry is configured, the image is saved to a compressed tarball, copied to the remote host, and loaded.
dockerdo run¶
Starts the container on the remote host.
Mounts the container filesystem using
sshfsinto${WORK_DIR}/container.Accepts the arguments for
docker run.To record filesystem events, use
dockerdo run --record &. The command will continue running in the background to record events using inotify.
dockerdo export¶
Add or overwrite an environment variable in the session environment.
Never pass secrets this way.
dockerdo exec (alias dodo)¶
Executes a command in the running container.
The working directory is deduced from the current working directory on the local host. E.g. if you ran
dockerdo initin/home/user/project, and are now in/home/user/container/opt/mysoftware, the working directory on the container is/opt/mysoftware.Note that you can pipe text in and out of the command, and the piping happens on the local host.
dockerdo status¶
Prints the status of the session.
dockerdo stop¶
Unmounts the container filesystem.
Stops the container.
dockerdo history¶
Prints the command history of the session.
Prints the list of modified files, if recording is enabled.
dockerdo rm¶
Removes the container.
Unmounts the remote host build directory.
If you specify the
--deleteflag, the session directory is also deleted.