Outils pour utilisateurs

Outils du site


events:capitole-du-libre:2017:atelier-docker

Ceci est une ancienne révision du document !


Docker pour le dev local

Atelier animé par Augustin Riedinger développeur freelance lors du capitole du libre 2017. Les ressources pour participer à cet atelier ont été mises à disposition par A. Riedinger aux 'URLs suivantes:

Installation de docker

Prérequis

  • docker
  • docker-compose

Ubuntu 14.04

  • Le dépot apt n'intègre pas docker-compose
  • Le paquet docker ne correspond pas au programme que nous cherchons à installer
$ sudo apt-get install docker.io
$ sudo pip install docker-compose

Ajouter votre utilisateur dans le groupe docker

$ sudo usermod --append -G docker $USER
$ newgrp docker

Debian 9

message erreur
 docker-compose run --rm --service-ports app /bin/bash
ERROR: Couldn't connect to Docker daemon at http+docker://localunixsocket - is it running?

If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.

utilisateur dans le groupe docker

Attention de ne pas se placer sur une partition avec noexec

sudo usermod --append -G docker user

Les alias

Les alias de commandes ci-dessous n'ont rien d'obligatoire, ils permettent de simplifier les commandes de gestion des instances docker:

$ alias docker-enter="docker-compose run --rm --service-ports app /bin/bash"
$ alias docker-enter-again="docker-compose run --rm app /bin/bash"
$ alias docker-clean="docker ps -a | grep 'Exited\|Created' | cut -d ' ' -f 1 | xargs docker rm"

pourquoi utiliser docker?

pour certains projet besoin de versions spécifiques des BD, des framework, et si vous travailez sur plusieurs projets vous rencontrerez rapidement des problèmes de compatibilité entre les différentes versions des bibliothèques.

virtualbox/vagrant : coûte cher en ressources

tuto 1

Cloner le dépôt git:

$ git clone https://github.com/augnustin/docker-local-tutorial
$ cd docker-local-tutorial/tutorial/1-boilerplate

Le dossier contient les fichiers suivants

.
├── docker-compose.yml
├── Dockerfile
└── hello.py

docker container isole les processus mais réutilise, les libs et binaires du système quand c'est possible.

  • dockerfile FROM, RUN, COPY fichier des commandes pour mettre en etat l'environnement
  • docker-compose.yml
  • docker

pour l'atelier

$ 

terminal, container comme une VM

docker-compose fichier yaml

app: le nom du container

volumes:
  - .:/app le dossier courant de la machine est lié a /app du container

Dans docker on a ds images dans docker 2 temps

  • le build

docker-compose utilise le ficheir de configuration de

un container par service, on utilise l'image officielle de

docker-compose va nous permettre d'interconnecter les containers entre eux.

Pour créer un container soit image soit build avec en attribut le Dockerfile

alias docker-enter-again permet de reouvrir une session pour les commandes dans le container sans ecouter sur les ports

commandes permettant de lister les instances docker s’exécutant sur la machine

docker ps -a

Lister les images construites ou téléchargées

docker images

Références

events/capitole-du-libre/2017/atelier-docker.1511170138.txt.gz · Dernière modification : 2021/02/01 21:51 (modification externe)