Installeer en gebruik Docker Compose op CentOS 8
Docker Compose is een hulpmiddel dat gebruikt kan worden om meerdere containers als een enkele dienst te definiëren en uit te voeren. Met Docker Compose kun je meerdere containers aan elkaar koppelen en een toepassing inzetten vanuit een enkel commando. Het wordt vooral gebruikt in de ontwikkel-, test- en staging omgeving. Docker Compose gebruikt een YAML bestand om een complexe stack in een bestand te definiëren en die met een enkel commando uit te voeren.
In deze zelfstudie laten we je zien hoe je Docker Compose installeert en gebruikt in CentOS 8.
Vereisten
- Een server die CentOS 8 draait.
- Een root wachtwoord is op de server ingesteld.
Installeer Docker
Voordat je begint, moet je zeker weten dat Docker op je server geïnstalleerd is. Als het niet geïnstalleerd is, moet je de Docker-CE repository aan je systeem toevoegen. Je kunt hem toevoegen met het volgende commando:
dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
Als de repository is toegevoegd, installeer je de nieuwste versie van docker met het volgende commando:
dnf install docker-ce --nobest -y
systemctl start docker
systemctl enable docker
Je kunt de docker versie verifiëren met het volgende commando:
docker --version
Je zou de volgende uitvoer moeten zien:
Docker version 19.03.5, build 633a0ea
Installeer Docker Compose
Docker Compose is standaard niet beschikbaar in de CentOS 8 standaard repository. Je zult het dus moeten downloaden uit de Git repository.
Installeer eerst het curl commando met het volgende commando:
dnf install curl -y
Download vervolgens de nieuwste versie van Docker Compose uit de Git reposiotry met curl zoals hieronder te zien is:
curl -L https://github.com/docker/compose/releases/download/1.25.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
Als de download voltooid is, maak je het gedownloade binaire bestand uitvoerbaar met het volgende commando:
chmod +x /usr/local/bin/docker-compose
Vervolgens kun je de Compose versie verifiëren met het volgende commando:
docker-compose --version
Je zou de volgende uitvoer moeten zien:
docker-compose version 1.25.0, build 0a186604
Je kunt alle opties zien die beschikbaar zijn met docker-compose met het volgende commando:
docker-compose --help
Je zou de volgende pagina moeten zien:
Zet Drupal in met Docker Compose
In dit deel laten we je zien hoe je Drupal installeert met Docker Compose.
Maak eerst een directory voor je drupal met het volgende commando:
mkdir drupal
Maak vervolgens een drupal.yaml bestand aan binnen de drupal directory:
nano drupal/docker-compose.yaml
Voeg de volgende inhoud toe:
version: '3.3' services: drupal: image: drupal:latest ports: - 80:80 volumes: - drupal_modules:/var/www/html/modules - drupal_profiles:/var/www/html/profiles - drupal_themes:/var/www/html/themes - drupal_sites:/var/www/html/sites restart: always postgres: image: postgres:10 environment: POSTGRES_PASSWORD: your_postgres_password volumes: - db_data:/var/lib/postgresql/data restart: always volumes: drupal_modules: drupal_profiles: drupal_themes: drupal_sites: db_data:
Sla het bestand op en sluit het als je klaar bent. Verander vervolgens de directory in drupal en start je Docker container met het volgende commando:
cd drupal
docker-compose up -d
Het bovenstaande commando zal de drupal en postgresql containers downloaden en uitvoeren.
Je kunt je draaiende containers controleren met het volgende commando:
docker-compose ps
Je zou de volgende uitvoer moeten zien:
Name Command State Ports ------------------------------------------------------------------------------- drupal_drupal_1 docker-php-entrypoint apac ... Up 0.0.0.0:80->80/tcp drupal_postgres_1 docker-entrypoint.sh postgres Up 5432/tcp
Nu kun je de URL http://your-server-ip bezoeken om de Drupal web installatie wizard te openen, zoals hieronder te zien is:
Werken met Docker Compose
In dit onderdeel laten we je zien hoe je het docker-compose commando kunt gebruiken.
Om de Docker Compose diensten te stoppen voer je het volgende commando uit binnen de drupal directory:
docker-compose stop
Je zou de volgende uitvoer moeten zien:
Stopping drupal_drupal_1 ... done Stopping drupal_postgres_1 ... done
Om de Docker Compose diensten te starten voer je het volgende commando uit binnen de drupal directory:
docker-compose start
Om de logs van containers te bekijken voer je het volgende commando uit:
docker-compose logs
Om de logs van een specifieke container te bekijken, voer je het volgende commando uit:
docker-compose logs drupal
Je kunt je configuratiebestand bekijken met het volgende commando:
docker-compose config
Om de containers te pauzeren en te ontpauzeren voer je het volgende commando uit:
docker-compose pause
Uitvoer:
Pausing drupal_postgres_1 ... done Pausing drupal_drupal_1 ... done
docker-compose unpause
Uitvoer:
Unpausing drupal_drupal_1 ... done Unpausing drupal_postgres_1 ... done
Om alle containers te verwijderen voer je het volgende commando uit:
docker-compose down
Je zou de volgende uitvoer moeten zien:
Stopping drupal_drupal_1 ... done Stopping drupal_postgres_1 ... done Removing drupal_drupal_1 ... done Removing drupal_postgres_1 ... done Removing network drupal_default
Je kunt ook de gegevensvolumes verwijderen met het volgende commando:
docker-compose down --volumes
Je zou de volgende uitvoer moeten zien:
Removing network drupal_default WARNING: Network drupal_default not found. Removing volume drupal_drupal_modules Removing volume drupal_drupal_profiles Removing volume drupal_drupal_themes Removing volume drupal_drupal_sites Removing volume drupal_db_data
Conclusie
In de bovenstaande tutorial leerden we hoe je Docker Compose installeert en gebruikt in CentOS 8. Ik hoop dat je voldoende kennis hebt over hoe je het Docker Compose commando kunt gebruiken om de Docker containers te beheren.