Go to file
Michael Bradley, Jr f5bf50b60b rm stray / 2018-07-24 22:00:41 -05:00
script Add readme; build/release script 2018-07-11 09:30:32 -04:00
.bash_env not using bldcyn 2018-07-24 18:16:00 -05:00
.bash_env_nvm_load "dot." -> "." -- allows more compact docker COPY 2018-07-24 15:23:47 -05:00
.bash_env_nvm_unload "dot." -> "." -- allows more compact docker COPY 2018-07-24 15:23:47 -05:00
.bashrc "dot." -> "." -- allows more compact docker COPY 2018-07-24 15:23:47 -05:00
.npmrc "dot." -> "." -- allows more compact docker COPY 2018-07-24 15:23:47 -05:00
Dockerfile use a 6+ version of npm 2018-07-24 18:10:48 -05:00
README.md rm stray / 2018-07-24 22:00:41 -05:00
docker-entrypoint.sh docker + user entry 2018-07-24 15:24:37 -05:00
install-extras.sh script (not run during build) for adding some cli tools 2018-07-24 15:24:44 -05:00
run.sh decl order 2018-07-24 17:39:42 -05:00
user-entrypoint.sh docker + user entry 2018-07-24 15:24:37 -05:00

README.md

Embark for Docker

Quick start

In a Bash shell:

source <(curl 'https://raw.githubusercontent.com/embark-framework/embark-docker/master/run.sh')
run_embark_docker embark demo
cd embark_demo
run_embark_docker

With overrides:

export EMBARK_DOCKER_EXTRA_RUN_OPTS='--rm'
export EMBARK_DOCKER_IMAGE=statusim/embark
export EMBARK_DOCKER_TAG=custom
export EMBARK_DOCKERFILE='https://github.com/embark-framework/embark-docker.git#some/branch'
export EMBARK_VERSION='embark-framework/embark#features/branch'
export NODE_TAG=10.7.0
export RUNNER='https://raw.githubusercontent.com/embark-framework/embark-docker/some/branch/run.sh'

docker build \
    -t $EMBARK_DOCKER_IMAGE:$EMBARK_DOCKER_TAG
    --build-arg EMBARK_VERSION=$EMBARK_VERSION
    --build-arg NODE_TAG=$NODE_TAG
    $EMBARK_DOCKERFILE

source <(curl $RUNNER)
run_embark_docker embark demo
cd embark_demo
run_embark_docker

Review the Dockerfile and run.sh to see all the possible overrides.

Updating versions

  • Open Dockerfile
  • On the ARG directives, update necessary versions.

Building

Building requires Docker to be installed on your local machine.

Scripted

If you have Ruby installed in your system, run:

$ ruby script/build

To release, add --release as a parameter of the build script.

Manually

Building and releasing manually isn't too hard either, but there are a couple steps.

Tags

To facilitate the images being found, we tag them with the following rules (as an example, the 3.1.5 version will be used.)

  • Tag with statusim/embark:latest if 3.1.5 is the latest version.
  • Tag with statusim/embark:3.1.5
  • Tag with statusim/embark:3.1 if 3.1.5 is the highest patch level on 3.1
  • Tag with statusim/embark:3 if 3.1.5 is the highest minor and patch level on 3

Generating the image

To generate the image, run:

docker build . -t statusim/embark:<version> [...tags]

Releasing

Releasing requires that you're authenticated to Docker Hub. To do so, run:

$ docker login

Scripted

If you have Ruby installed in your system, run:

$ ruby script/build --release

Manual

Pushing the tags manually implies that the image has been previously built. To push your local images, run:

docker push statusim/embark:version