Docker Flashcards

1
Q

C’est quoi docker ?

A

Docker est une plate-forme ouverte pour le développement, l’expédition et l’exécution d’applications. Docker vous permet de séparer vos applications de votre infrastructure afin de pouvoir livrer rapidement des logiciels. Avec Docker, vous pouvez gérer votre infrastructure de la même manière que vous gérez vos applications. En tirant parti des méthodologies de Docker pour expédier, tester et déployer rapidement le code, vous pouvez réduire considérablement le délai entre l’écriture du code et son exécution en production.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

C’est quoi Docker Engine ?

A

Docker Engine is a client-server application with these major components:

A server which is a type of long-running program called a daemon process (the dockerd command).

A REST API which specifies interfaces that programs can use to talk to the daemon and instruct it what to do.

A command line interface (CLI) client (the docker command).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What can i use Docker for ?

A

Fast, consistent delivery of your applications
Responsive deployment and scaling
Running more workloads on the same hardware

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

La conteneurisation est de plus en plus populaire car les conteneurs sont:

A

Flexible : même les applications les plus complexes peuvent être conteneurisées.
Léger : les conteneurs exploitent et partagent le noyau hôte, ce qui les rend beaucoup plus efficaces en termes de ressources système que les machines virtuelles.
Portable : vous pouvez créer localement, déployer sur le cloud et exécuter n’importe où.
Lâchement couplé : les conteneurs sont hautement autonomes et encapsulés, ce qui vous permet de remplacer ou de mettre à niveau l’un sans en perturber les autres.
Évolutif : vous pouvez augmenter et distribuer automatiquement les répliques de conteneurs dans un centre de données.
Sécurisé : les conteneurs appliquent des contraintes et des isolements agressifs aux processus sans aucune configuration requise de la part de l’utilisateur.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Images et Conteneurs

A

Fondamentalement, un conteneur n’est rien d’autre qu’un processus en cours d’exécution, avec quelques fonctionnalités d’encapsulation supplémentaires qui lui sont appliquées afin de le maintenir isolé de l’hôte et des autres conteneurs. L’un des aspects les plus importants de l’isolation des conteneurs est que chaque conteneur interagit avec son propre système de fichiers privé; ce système de fichiers est fourni par une image Docker . Une image comprend tout ce qui est nécessaire pour exécuter une application - le code ou le binaire, les environnements d’exécution, les dépendances et tout autre objet du système de fichiers requis.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

le flux de travail de développement

A

Maintenant que vous avez configuré votre environnement de développement, vous pouvez commencer à développer des applications conteneurisées. En général, le flux de travail de développement ressemble à ceci:

Créez et testez des conteneurs individuels pour chaque composant de votre application en créant d’abord des images Docker.

Assemblez vos conteneurs et votre infrastructure de support dans une application complète.

Testez, partagez et déployez votre application conteneurisée complète.

Dans cette étape du didacticiel, concentrons-nous sur l’étape 1 de ce flux de travail: créer les images sur lesquelles seront basés vos conteneurs. N’oubliez pas qu’une image Docker capture le système de fichiers privé dans lequel vos processus conteneurisés s’exécuteront; vous devez créer une image contenant exactement ce dont votre application a besoin pour s’exécuter.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Construisez et testez votre image

A

docker build –tag bulletinboard:1.0 .

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

xécutez la commande suivante pour démarrer un conteneur basé sur votre nouvelle image:

A

docker run –publish 8000:8080 –detach –name bb bulletinboard:1.0
Il y a quelques indicateurs communs ici:

  • -publishdemande à Docker de transférer le trafic entrant sur le port 8000 de l’hôte vers le port 8080 du conteneur. Les conteneurs ont leur propre ensemble de ports privés, donc si vous voulez en atteindre un depuis le réseau, vous devez y transférer le trafic de cette manière. Sinon, les règles de pare-feu empêcheront tout le trafic réseau d’atteindre votre conteneur, comme posture de sécurité par défaut.
  • -detach demande à Docker d’exécuter ce conteneur en arrière-plan.
  • -namespécifie un nom avec lequel vous pouvez faire référence à votre conteneur dans les commandes suivantes, dans ce cas bb.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Executer container

A

docker container run –publish

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Processus de Docker

A
  • Telecharger l image dans Docker Hub
  • start new Container
  • Exposed port 80 on Host Machine
  • Routes traffic to the container port 80
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

List running Containers

A

docker Container ls

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Stop Docker

A

Docker Contqiner Stop < contqiner_id>

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

list all running and stopped containers

A

docker container ls -a

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Run vs Start Container

A

run : Start a new Container always

Start :start a existing containers

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Docker Container Name

A

docker container run –public 80:80 – detach –name

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

see logs of a specific container

A

docker container logs

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

see process running inside the container

A

docker container top container_id

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

remove all unused containers

A

docker container rm docker_id docker_id

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Containers and Virtual machines

A
  • have similar ressource allocation
  • Containers virtualise the Os but Vm are virtualise the hardware
  • Containers are portable
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Docker run image (process)

A
  • looks for the image in Image Cache
  • Then looks in remote dcker repository
  • dpwnload the latest versio, of image
  • create new container based on the image
  • give it a virtual ip on private network inside the docker engine
  • open port 80 on host machine and route to port 80 inside the container
  • starts container by using cmd in imager docker file
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Process List in One Container

A

Docker container top

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Details of one Container Config

A

Docker container inspect id

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Run container in interactive mode

A

docker container run -it

24
Q

Network Concepts

A

Dockers containers and services can be connected with each other
Containers and services don’t need to be aware,where they are deployed
Each contaienr connect to virtual private network called bridge
All containers on same bridge can communicate each other without port
User is allow to create Multiple VPN
Create Multiple rules for single network

25
Q

bridge:

A

thid id default Network driver of docker

26
Q

find the traffic and protocol on container

A

docker port container id

27
Q

show all networks

A

docker network ls

28
Q

inspect any network

A

docker network inspect

29
Q

Create new network on host machine

A

docker network create

create bridge default

30
Q

create bridge network

A

docker network create - d bridge my-bridge-network

31
Q

Connect network with container

A

docker network connect network 1 container1

you can connect a container by name or by id

32
Q

Disconnect network from container

A

Docker network disconnect network container

33
Q

DNS

A

Domain Name System
DNS is how domain names are translated into IP adresses
DNS is what allows you to use your web browser to find web sites

34
Q

Container use what to communicate

A

use DNS

Containers don’t use IP ADRESSES

35
Q

List Docker images

A

docker images

Images don’t contains the Os and Os packages

36
Q

Base Images

A

Image that have no parent image , usually image with OS like ubuntu

37
Q

Child Images

A

Images that build on base Images and add additionally Functionality

38
Q

Official Images

A

Officialy Maitained and Supported by the folks of docker

39
Q

Users Images

A

Images created and shared by Users

40
Q

Pull spesific version of Image

A

docker pull image:version

41
Q

Images and Layers

A

Each images consist of a series of layers.Docker makes use of union file systems to combine these layers into a single image

42
Q

Show Image Layers

A

docker History image:name

43
Q

Docker Tags

A

Docker Tags convey useful Information about a specific Image version

44
Q

Tags 2 ways

A

docker tag source_Image tag_Image

45
Q

Push to docker hub

A

Docker login

docker image push User/image-name

46
Q

DockerFile

A

Docker can build images auomatically by reading the instructions from a docker file
is a text document that contains all the commands a user could call on the command line to assemble image

47
Q

Command to build image from dockerfile

A

docker build -f

48
Q

FROM :

A

initializes aa new build stage and sets the base Image for subsequent instructions
A valid Docker must start with FROM
FROM image [: tage]

49
Q

LABEL

A

Label added to an image to organize images by project

LABEL vendor=”fdsfs”

50
Q

RUN

A

Run instruction will execute any commands in a new layer on top of the current image and commit results

51
Q

CMD

A

run software contained by your image ,along with any arguments
there can only one cmd in a docker file
If we have two. CME instruction dander last one will be executed

52
Q

EXPOSE

A

indicates the ports on which a container listens for connections
Expose port

53
Q

ENV

A

ENV instruction sets the environment variable key to the value

54
Q

ADD

A

copies new files , directories or remote file URLs from and adds to the file system

55
Q

VOLUME

A

should be used to expose any db storage area or conf storage or files created by container

56
Q

WORKDIR

A

instruction Sets the working directory for any command like run cmd air instruction

57
Q

docker build image

A

docker build -t ImageName:TagName dir
-t to mention a tag
dir : where the docker file is it