Que es un contenedor?

dockerfile

# Dockerfile
# imagen base
FROM node:carbon

# creamos el directorio 'app'
# ahora trabajamos en 'app'
WORKDIR /app

# copiamos package.json
COPY package.json ./

# instalamos las dependencias
RUN npm install

# copiamos el proyecto a 'app'
COPY . .

EXPOSE 8080
CMD [ "npm", "start" ]
$ docker build -t node-test .
$ docker run -p 3000:8080 node-test
$ curl -i localhost:3000

HTTP/1.1 200 OK
X-Powered-By: Express
Content-Type: text/html; charset=utf-8
Content-Length: 12
ETag: W/"c-M6tWOb/Y57lesdjQuHeB1P/qTV0"
Date: Mon, 07 May 2018 18:11:37 GMT
Connection: keep-alive

Hello world

volume

link containers

docker run --name database something-db
docker run --name app --link database:database something-app
# docker-compose.yml
version: '3'
services:
  app:
    image: something-app
    depends_on:
      - database
    links:
      - database
  database:
    image: something-db
docker-compose up

Ejemplo

Made with Slides.com