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
bridge:
thid id default Network driver of docker
26
find the traffic and protocol on container
docker port container id
27
show all networks
docker network ls
28
inspect any network
docker network inspect
29
Create new network on host machine
docker network create create bridge default
30
create bridge network
docker network create - d bridge my-bridge-network
31
Connect network with container
docker network connect network 1 container1 you can connect a container by name or by id
32
Disconnect network from container
Docker network disconnect network container
33
DNS
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
Container use what to communicate
use DNS | Containers don't use IP ADRESSES
35
List Docker images
docker images | Images don't contains the Os and Os packages
36
Base Images
Image that have no parent image , usually image with OS like ubuntu
37
Child Images
Images that build on base Images and add additionally Functionality
38
Official Images
Officialy Maitained and Supported by the folks of docker
39
Users Images
Images created and shared by Users
40
Pull spesific version of Image
docker pull image:version
41
Images and Layers
Each images consist of a series of layers.Docker makes use of union file systems to combine these layers into a single image
42
Show Image Layers
docker History image:name
43
Docker Tags
Docker Tags convey useful Information about a specific Image version
44
Tags 2 ways
docker tag source_Image tag_Image
45
Push to docker hub
Docker login | docker image push User/image-name
46
DockerFile
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
Command to build image from dockerfile
docker build -f
48
FROM :
initializes aa new build stage and sets the base Image for subsequent instructions A valid Docker must start with FROM FROM image [: tage]
49
LABEL
Label added to an image to organize images by project | LABEL vendor="fdsfs"
50
RUN
Run instruction will execute any commands in a new layer on top of the current image and commit results
51
CMD
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
EXPOSE
indicates the ports on which a container listens for connections Expose port
53
ENV
ENV instruction sets the environment variable key to the value
54
ADD
copies new files , directories or remote file URLs from and adds to the file system
55
VOLUME
should be used to expose any db storage area or conf storage or files created by container
56
WORKDIR
instruction Sets the working directory for any command like run cmd air instruction
57
docker build image
docker build -t ImageName:TagName dir -t to mention a tag dir : where the docker file is it