- Launch docker containers with strong defaults for interactive usage
- workdir mounted by default
- files created inside docker have correct ownership
- dirs mounted and env vars set can be configured
- Selected files from home dir can be propagated to fake home inside docker
- Run ssh server for remote development in containers without image modification, with docker on remote host support
- Launch jupyter kernels inside docker (either with vscode ssh development or with external jupyter server)
- Ensure your python is at least 3.8
- Install doh:
- With pipx (preferred, dependencies for cli tools installed with pipx are managed independently):
pipx install 'git+https://github.com/hexfaker/doh.git'
- To your existing virtualenv (your dependencies may conflict with doh's):
pip install 'git+https://github.com/hexfaker/doh.git'
- Cd into your project dir:
mkdir -p my-simple-torch-project && cd my-simple-torch-project
- Create
Dockerfile
in it
# my-simple-torch-project/Dockerfile
FROM pytorch/pytorch:1.7.0-cuda11.0-cudnn8-devel
- Create to-go doh config
doh init
- Enjoy
doh sh # Spawns a shell inside container
doh ssh # Starts ssh server inside container, follow instructions to connect
doh kernel-install # Writes some configs for jupyterlab(notebook) that allows to run kernel inside container. Requires python and ipython to be present inside container
doh exec # For advanced usage, runs a single command inside container
This project is licensed under the terms of the GNU GPL v3.0
license. See LICENSE for more details.
@misc{doh,
author = {Vsevolod Poletaev},
title = {Docker-based development environments},
year = {2021},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {\url{https://github.com/hexfaker/doh}}
}
This project was generated with python-package-template
.