Docker usage

This is the “Dockerfiles” that will automatically build the CentOS/Ubuntu environment of this project.


Features:

What does the Dockerfile do?

  • Build from centos/ubuntu.
  • Default is not using proxy. Please see instruction below to set up http/https proxy.
  • Install dependency packages.
  • Set up environment variables of paths.
  • Create /ws folder.
  • Install pmalloc in /ws
  • Install nvml in /ws.
  • Set up maven proxy mvn.sh.
  • Clone mnemonic code then build/install.
  • Go to /ws fold and start bash.

How to set up proxy?

Set the argument “http_proxy” for the docker option “–build-arg” as follows

  $ docker build -t NAME[:TAG] --build-arg proxy_host="<proxy_host>" proxy_port="<proxy_port>" .

For old version docker v1.10 below, Please replace ARG with ENV and set its value as proxy strings in Dockerfile instead

How to build the docker image from Dockerfile in host OS?

Build from git repository

  $ docker build -t NAME[:TAG] https://github.com/apache/mnemonic.git#:docker/docker-CentOS
  $ docker build -t NAME[:TAG] https://github.com/apache/mnemonic.git#:docker/docker-Ubuntu

– OR –

In the folder of Dockerfile, run:

  $ docker build -t NAME[:TAG] .

Optional: After build, push image to dockerhub:

  $ docker login [OPTIONS] [SERVER]  
  $ docker push [OPTIONS] NAME[:TAG]

How to run image after build

Run image:

  $ docker run --name CONTAINER_NAME -it NAME[:TAG]

Sharing host project folder to Dock container for IDEs e.g. Eclipse, Intellij IDEA

  $ docker run -v <hostdir>/mnemonic:/ws/mnemonic -it NAME[:TAG]

Note: this command will override the container’s project folder, you can use another name to avoid it.

Next