Appunti DockerContainer :

1. Docker engine, creazione di un'immagine di riferimento :

 
 docker build -t glavermi/nodejshdp .  <- att.ne al punto finale

Creazione di un'immagine che abbia come nome TAG un repository remoto identificato da “glavermi” e nome macchina “nodejshdp” . Il nome del TAG ci servirà per gestirla altrimenti bisogna riferirsi al ContainerID che non compare come suggerimento nella shell.

file di setup → Dockerfile

FROM node:8

#application directory
WORKDIR /usr/src/app/DevicesPosition

COPY ./instantclient_18_3/ /opt/instantclient_18_3/

# Bundle app source
COPY ./DevicesPositions/trunk ./

ENV LD_LIBRARY_PATH="/opt/instantclient_18_3"

RUN apt-get update \
 && apt-get install -y libaio1 \
 && apt-get install -y build-essential \
 && apt-get install -y unzip \
 && apt-get install -y curl

#RUN npm install

EXPOSE 3000

CMD [ "npm", "start" ]

2. Avvio della macchina (Il Container è pronto - ma non è avviato) :

 docker run -it -d -p 3000:3000 glavermi/nodejshdp:latest
 

“Latest” è la versione del Container - Docker la aggiunge nel caso non venda specificato con il Build - io non l'avevo fatto


3. Creazione delle swarm :

 
 docker stack deploy --compose-file docker-swarm-2.yml stack-nodejshdp

nel file .yml ci sarà la logica di creazione massiva delle macchine partendo dal container definito a priori

file di setup → docker-swarm-2.yml

version: "3.0"
services:
  web:
    # replace username/repo:tag with your name and image details
    image: glavermi/nodejshdp:latest
    deploy:
      replicas: 5
      resources:
        limits:
          cpus: "0.1"
          memory: 100M
      restart_policy:
        condition: on-failure
    ports:
      - "3000:3000"
    networks:
      - webnet
    volumes:
      - my_data_4:/usr/src/app/my_data
  visualizer:
    image: dockersamples/visualizer:stable
    ports:
      - "8080:8080"
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock"
    deploy:
      placement:
        constraints: [node.role == manager]
    networks:
      - webnet
networks:
  webnet:
volumes:
  my_data_4:
  • user/glavermi/docker-notes.txt
  • Ultima modifica: 2019/02/15 13:30
  • da glavermi