Sign inSign up

elafo/dev-in-a-box

By elafo

Updated over 6 years ago

Image
0

197

elafo/dev-in-a-box repository overview

Dev in a box

This is my personal dev environment. It is based on ubuntu 20.04 and uses:

How to use this image

docker run --rm -it elafo/dev-in-a-box

Mounting workspaces

If you want to bind mount your workspace you can bind it to /workspace

docker run --rm -it -v $(PWD):/workspace elafo/dev-in-a-box

Supported languages via asdf

Versions are automatically installed if a .tool-versions file is in the root of the project like described here

Legacy files are supported when available

languajelegacy file
ruby.ruby-version
python.python-version
node.node-version
phpN/A

You might want to use a volume to persist different versions between sessions:

docker run --rm -it -v asdf:/root/.asdf -v $(PWD):/workspace elafo/dev-in-a-box

Sharing your ssh credentials

You need to bind mount your ssh directory:

docker run --rm -it -v ~/.ssh:/root/.ssh elafo/dev-in-a-box

Using docker with host socket

You need to mount your host socket as usual:

docker run --rm -it -v /var/run/docker.sock:/var/run/docker.sock elafo/dev-in-a-box

Volumes

PathDescription
/workspacemain folder for developing
/root/.asdfasdf folder where shims are installed
/var/run/docker.sockdocker socket
/root/.sshssh keys

Building the image

Args

Build argDescriptionDefault value
ruby_versionruby version to be installed globally using rbenvnone
node_versionnode version to be installed and used by default using nvmnone
python_versionpython version to be installed and used globally using pyenvnone
php_versionphp version to be installed and used globally using asf-phpnone

Example

docker build --build-arg ruby_version=2.6.0 --build-arg=node_version="lts" --build-arg python_version=3.8.0 --build-arg php_version=7.4.1 -t dev:local .

Tag summary

Content type

Image

Digest

Size

687.6 MB

Last updated

over 6 years ago

docker pull elafo/dev-in-a-box