Docker is a softwar that allows you to work in ‘containers’ with different environments from that of your machine. For example different operating system or different versions of one operating system. Before being able to use Docker:
- You need to install Docker following the instructions adequate to your operative system.
- Test your instalation with (in linux you might need to run first
newgrp docker
, see the linux-postinstall):docker run hello-world
- Make an account on the website https://hub.docker.com/.
Compiling and running a program in a different environment
If you are going to work in a given environment for a project, you can create a directory with the program that you want to test, ‘hello.cpp’, and the file ‘Dokerfile’, with the needed comands. This is an example ‘Dockerfile’:
FROM ubuntu:16.04
RUN apt-get update && apt-get install -y g++
COPY . /usr/src/
WORKDIR /usr/src/
RUN g++ -o hello hello.cpp
CMD ["./hello"]
Then you need to build the image that will run the program, by typing in the same folder as the ‘Dockerfile’:
$ docker build -t my-gcc-app .
And run the Docker image
$ docker run -it --rm --name my-running-app my-gcc-app
Comandos docker
IMAGE = name of the image; TAG = tag name
docker build --tag TAG . |
builds a local image in current directory (with Dockerfile) |
docker images |
lists local images |
docker image rm IMAGE |
removes image |
docker run IMAGE:TAG |
runs image with IMAGE:TAG name |
docker ps |
lists running processes |
docker ps -a |
lists all processes |
docker start/stop IMAGE |
starts/stops image |
docker system prune -a |
removes any dangling and stopped resources |