mkdir /var/lib/docker vim /etc/fstab /dev/vg1/local /local/docker xfs defaults 1 2 mount -a
yum install docker
La version de containerd.io n'est pas la bonne pour docker sur Centos8. On va utiliser une version précédente de Docker au lieu de forcer l'installation et d'avoir des erreurs à chaque mise à jour système
# on ajoute le repo officiel dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo dnf install docker-ce # le probleme de dépendance est corrigé en docker 19
mkdir /var/lib/docker vim /etc/fstab /dev/vg1/local /local/docker xfs defaults 1 2 mount -a
mkdir /etc/docker/ mkdir /local/docker/ vim /etc/docker/daemon.json { "bip": "10.254.0.1/16", "default-address-pools": [ {"base":"10.10.0.0/16","size":24} ], "data-root": "/local/docker", "log-driver": "json-file", "log-opts": { "max-size": "500m", "max-file": "3" } }
systemctl enable docker --now
curl -L "https://github.com/docker/compose/releases/download/1.26.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose
version: '2.2' services: sharelatex: restart: always image: sharelatex/sharelatex:2.4.1 container_name: sharelatex depends_on: redis: condition: service_started mongo: condition: service_healthy privileged: true ports: - 5000:80 links: - redis - mongo volumes: - /local/sharelatex:/var/lib/sharelatex - /local/sharelatex:/var/log/sharelatex:rw - /var/run/docker.sock:/var/run/docker.sock environment: SHARELATEX_APP_NAME: Overleaf (ex ShareLaTeX) SHARELATEX_MONGO_URL: mongodb://10.254.0.1/sharelatex mongo: restart: always image: mongo container_name: mongo expose: - 27017 volumes: - ~/mongo_data:/data/db healthcheck: test: echo 'db.stats().ok' | mongo localhost:27017/test --quiet interval: 10s timeout: 10s retries: 5 redis: restart: always image: redis container_name: redis expose: - 6379 volumes: - ~/redis_data:/data
cd /local/nomApplication-compose # On crée notre fichier vim docker-compose.yml # creer un container et démarre un container en mode logs docker-compose up # creer un container et démarre un container en mode daemon docker-compose up -d # stop docker-compose down # redemarre un container ( il ne relis pas le docker compose et donc ne modifie pas les variables dans le container si le programme ne lit pas un fichier sur la machine hote ) docker-compose start docker-compose stop docker-compose restart
docker-compose exec nomduservice nomdelacommande docker-compose exec sharelatex ls /etc/ docker-compose exec sharelatex /bin/bash
Il faut utiliser “-T” à la commande exec pour ne pas avoir l'erreur “the input device is not a TTY”
.... /usr/local/bin/docker-compose exec -T cas ls /var/log/tomcat/