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 VPS


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 stretch 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 some-content-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 my-apache2

  • 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


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

# cd /home/Utilisateur/

# mkdir ~ /wordpress && cd ~ /wordpress


  • Lancez l'installation de la base de donnée pour Wordpress :

Vous pouvez modifier le mot de passe "password", le nom de la base de donnée "Wordpress" le nom du conteneur de la base de donnée "wordpressdb"

# docker run -e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=wordpress --name wordpressdb -v "$PWD/database":/var/lib/mysql -d mariadb:latest


  • Lancez l'installation de Wordpress

Donner le mot de passe de votre base de donnée "password", modifiez le nom du conteneur "--name wordpress" et créez le lien avec votre base de donnée --link wordpressdb:mysql, enfin vous pouvez modifier le port "-p 8093:80"

# docker run -e WORDPRESS_DB_PASSWORD=password--name wordpress --link wordpressdb:mysql -p 8094:80 -v "$PWD/html":/var/www/html -d wordpress


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 !