Docker

Docker est une plate-forme logicielle qui vous permet de concevoir, tester et déployer des applications rapidement. Docker intègre les logiciels dans des unités normalisées appelées conteneurs, qui rassemblent tous les éléments nécessaires à leur fonctionnement, dont les bibliothèques, les outils système, le code et l'environnement d'exécution.

(source)



Testez gratuitement les applications intégrées à mon docker !



Merci de respecter le travail ;-)




installation de docker sur debian 10


Configuration du VPS :

  • Modification du mot de passe (root) :

# passwd

  • Création d'un Utilisateur du VPS :

# adduser lefebvre

  • Configuration de la connexion SSH :

# nano /etc/ssh/sshd_config

  • Modification du fichier des dépots :

# nano /etc/apt/sources.list

  • Redéfinir la langue du systèmes :

# dpkg-reconfigure locales

  • Mise à jour des dépots :

# apt update

  • Installation des net-tools et de Wget :

# apt install net-tools wget

  • installation de Htop (gestionnaire de tâche) :

# apt install htop


Installation de docker :

  • installation du certificat :

# apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common

  • installation de la clé ssl :

# curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -

  • ajout du dépot pour docker :

# add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"

  • mise à jour des dépots :

# apt-get update

  • installation de docker :

# apt-get install docker-ce docker-ce-cli containerd.io


Démarrage de Dcoker :

# systemctl start docker


Activation de Docker :

# systemctl enable docker

Installation de docker compose


# sudo curl -o /usr/local/bin/docker-compose -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)"

# sudo chmod +x /usr/local/bin/docker-compose

Vérifier que l’installation de Docker Compose a bien fonctionné avec la commande suivante celle-ci affiche sa version :

# docker-compose -v

Supprimer Docker Compose

# rm /usr/local/bin/docker-compose

Supprimer un conteneur

Chercher le numéro de conteneur

# docker ps -a

Arrêter le conteneur :

# docker stop 154r782a951a

Supprimé le conteneur

# docker rm 154r782a951a

faire le ménage dans les conteneurs et images docker

Supprimer les volumes associés à un conteneur

docker rm -v $(docker ps -aqf status=exited)

Supprimer les images inutiles jamais utilisé pour créer un conteneur.

docker rmi $(docker images -qf dangling=true)

Souvent indispensable après un docker pull.

Supprimer les volumes inutilisés

docker volume rm $(docker volume ls -qf dangling=true)

accéder au conteneur pour apporter des modifications

  • Trouvez le numéro du conteneur avec la commande :

# docker ps -a

  • Accédez au conteneur avec la commande :

# docker exec -it (numéro du conteneur) bash

Redémarrage automatique de vos applications

après un redémarrage du serveur ou arrêt inattendu :

  • Trouvez le numéro du conteneur avec la commande :

# docker ps -a

  • Lancez la commande de redémarrage automatique :

docker update --restart always Numéro_Conteneur (redémarrage automatique de l'application à faire sur toute les apps)

Exemple : docker update --restart always 154r782a951a

Installation des applications sur Docker

Installation de NGINX sur Docker

Vous pouvez modifier le nom du conteneur avec la commande " --name NOM", modifier le port avec "-p 8090:80"

# docker run --name some-nginx -d -p 8090:80 nginx

# docker run --name some-nginx -v /some/content:/usr/share/nginx/html:ro -d nginx

# apt update


Accéder au conteneur pour modifier la page index.html

  • trouvez le numéro du conteneur avec la commande :

# docker ps -a

  • Accédez au conteneur avec la commande :

# docker exec -it (numéro du conteneur) bash

  • Modifier la page index html dans /usr/share/nginx/html/ avec la commande (installez nano au besoin # apt install nano) :

# nano /usr/share/nginx/html/index.html

Installation de Apache 2 sur Docker


Vous pouvez modifier le nom du conteneur avec la commande " --name NOM", modifier le port avec "-p 8090:80"

  • Installez Apache 2

# docker run --name apache -d -p 8091:80 httpd:2.4

  • Cherchez le numéro du conteneur :

# docker ps -a

  • La page par défaut de Apache ce trouve dans le répertoire suivant :

./htdocs/index.html

  • Modifiez la page avec la commande :

# nano ./htdocs/index.html

Installation de GHOST sur Docker

Vous pouvez modifier le nom du conteneur avec la commande " --name NOM", modifier le port avec "-p 8090:80"


  • Installez Ghost

docker run -d --name some-ghost -e url=http://localhost:8092 -p 8092:2368 ghost

exemple : http://labo.info-tuto.ovh:8086

Installation de WORDPRESS sur Docker


Installer docker compose pour effectuer cette installation


  • Déplacez vous dans le dossier Utilisateur, créez un dossier "wordpress" et déplacez-vous sur celui-ci :

# cd /home/Utilisateur/

# mkdir wordpress

  • Dans le répertoire "wordpress" créer le fichier suivant :

# nano docker-compose.yml

  • Editer le fichier .yml comme ci-dessous, apportez les modifications nécessaires pour la sécurité :


version: '2'


services:

db:

image: mysql:5.7

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:

- "8085:80"

restart: always

environment:

WORDPRESS_DB_HOST: db:3306

WORDPRESS_DB_USER: wordpress

WORDPRESS_DB_PASSWORD: wordpress

volumes:

db_data:


  • Executer le fichier avec

# docker-compose up -d


exemple : http://labo.info-tuto.ovh:8086

Installation de NetData sur docker

Netdata est un outil open source pour visualiser et surveiller les mesures en temps réel, optimisé pour accumuler tous les types de données, tels que l'utilisation du processeur, l'activité du disque, les requêtes SQL , les visites sur un site Web, etc.

accédez à NetData avec : http://Nom_d'hôte:19999/ .

# docker run -d --name=netdata \

-p 19999:19999 \

-v /proc:/host/proc:ro \

-v /sys:/host/sys:ro \

-v /var/run/docker.sock:/var/run/docker.sock:ro \

--cap-add SYS_PTRACE \

--security-opt apparmor=unconfined \

netdata/netdata

Enregistrez-vous, renseignez les champs, puis copier le texte proposé (sudo au besoin) pour l'ajouter à votre conteneur, accédez à votre conteneur avec la commande : (connaître le numero de conteneur : # docker ps -a)

# docker exec -it (numéro conteneur) bash

netdata-claim.sh -token=k1YaJQElKB9mIZXxUAE6HCRGtrN8uW_OTzZFdF7PnSKtnTbPsuV9kkRv2nkOS29slbC670TOEjAM04zXlgKyHf3YSSxrAfTYoLTZxZFFsves94IFGdxMYidxE3LvazdJCc9IpO0 -rooms=7bb1e00a-a639-4b6e-bee6-2d4e63d42c04 -url=https://app.netdata.cloud


Installation de Drupal

Drupal est un logiciel qui permet aux individus comme aux communautés d'utilisateurs de publier facilement, de gérer et d'organiser un vaste éventail de contenus sur un site web.

Modifier les **** à votre convenance.

vous pouvez modifier le port 3306 ou 8080 comme ceci 3315:3306 ou 8090:80 (redirection de port)

"drupal-mysql" est le nom du conteneur (hôte) de votre base de données, il vous sera demandez pour la fin de l'installation via la page web, pour y accéder taper : http://IP_d'hôte:8080/

# docker run --name drupal-mysql -e MYSQL_ROOT_PASSWORD=**** -e MYSQL_DATABASE=**** -e MYSQL_USER=***** -e MYSQL_PASSWORD=**** -p 3306:3306 -d mysql:5.7


# docker run --name drupal-test -p 8080:80 --link drupal-mysql:mysql -d drupal

Installation de Joomla!

Modifier les **** à votre convenance.

vous pouvez modifier le port 3306 ou 8080 comme ceci 3315:3306 ou 8090:80 (redirection de port)

"joomla-mysql" est le nom du conteneur (hôte) de votre base de données, il vous sera demandez pour la fin de l'installation via la page web, pour y accéder taper : http://IP_d'hôte:8080/

# docker run --name joomla-mysql -e MYSQL_ROOT_PASSWORD=**** -e MYSQL_DATABASE=**** -e MYSQL_USER=**** -e MYSQL_PASSWORD=**** -p 3306:3306 -d mysql:5.5


# docker run --name joomla --link joomla-mysql:mysql -p 8080:80 -d joomla


Installation de OSticket

Modifier les **** à votre convenance.

vous pouvez modifier le port 8080 comme ceci 8090:80 (redirection de port)

# docker run --name osticket_mysql -d -e MYSQL_ROOT_PASSWORD=***** -e MYSQL_USER=***** -e MYSQL_PASSWORD=***** -e MYSQL_DATABASE=***** mysql:5

# docker run --name osticket -d --link osticket_mysql:mysql -p 8080:80 campbellsoftwaresolutions/osticket


N'oubliez pas de modifier le mot de passe de l'administrateur !