Skip to main content

Docker

Commandes utiles : 

Afficher les conteneurs actifs : 

docker ps 

Killer un conteneur : 

docker stop <ID>

Ex :
docker stop d61d169912c8

Faire de la place sur le system d'exploitation : 

docker system prune

Afficher l'ensemble des images présentes sur le système : 

docker images -a

Entrer dans un conteneur : 

docker exec --user:root -it mondocker bash

Stop  all containers :

docker stop $(docker ps -a -q)

Créer son propre conteneur : 

Créer son propre dockerfile : 

Fichier = Dockerfile

FROM debian:9

RUN apt-get update -yq \
&& apt-get install curl gnupg -yq \
&& curl -sL https://deb.nodesource.com/setup_10.x | bash \
&& apt-get install nodejs -yq \
&& apt-get clean -y

ADD . /app/
WORKDIR /app
RUN npm install

EXPOSE 2368
VOLUME /app/logs

CMD npm run start

Création de l'image personnalisée : 

docker build -t ocr-docker-build .

image-1634681327817.png

L'image a bien été créée ! 

Lancement du conteneur personnalisé : 

docker run -d -p 2368:2368 ocr-docker-build

Créer un fichier docker-compose.yml : 

Pour GHOST : 

version: '3'
services:
 mysql:
   image: mysql:latest
   volumes:
     - db_data:/var/lib/mysql
   restart: always
   environment:
     MYSQL_ROOT_PASSWORD: monPassword

 ghost:
   depends_on:
     - mysql
   image: ghost 
   ports:
     - "80:2368"
   restart: always
   environment:
    NODE_ENV: production
    MYSQL_ROOT_PASSWORD: monPassword
    url: http://localhost:80    

volumes:
 db_data: {}

Pour Wordpress :

version: '3'
services:
  db:
    image: mysql:latest
    volumes:
      - db_data:/var/lib/mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: somewordpress
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: wordpress
    
  wordpress:
    depends_on:
      - db
    image: wordpress:latest
    ports:
      - "80:80"
    restart: always
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress
      WORDPRESS_DB_NAME: wordpress

volumes:
  db_data: {}

Lancement du stack : 

docker-compose up -d  // ou docker-compose up 

Résultat :

Si je tente d'accéder à http://localhost:80 : 

 

Exemples conteneurs : 

Hello-World : 

docker run hello-world

2048 :

docker run -d -p 8080:80 alexwhen/docker-2048

Google cloud SDK

docker run -ti --name gcloud-config google/cloud-sdk gcloud auth login