Android

Docker Compose installeren en gebruiken op Centos 7

How To Install Docker Compose on CentOS 7

How To Install Docker Compose on CentOS 7

Inhoudsopgave:

Anonim

Docker Compose is een tool waarmee u Docker-toepassingen met meerdere containers kunt definiëren en uitvoeren.

Met Compose definieert u de services, netwerken en volumes van de applicatie in één YAML-bestand en draait u vervolgens uw applicatie met een enkele opdracht.

Compose kan worden gebruikt voor verschillende doeleinden, zoals implementaties van afzonderlijke hostapplicaties, geautomatiseerde tests en lokale ontwikkeling.

Deze zelfstudie leidt u door de installatie van de nieuwste versie van Docker Compose op CentOS 7. We behandelen ook de basisconcepten en opdrachten van Docker Compose.

voorwaarden

Zorg ervoor dat u aan de volgende voorwaarden voldoet voordat u doorgaat met deze zelfstudie:

  • Aangemeld als een gebruiker met sudo-rechten. Heb Docker op uw CentOS 7-systeem geïnstalleerd.

Docker Compose op CentOS installeren

De aanbevolen methode voor het installeren van Docker Compose op CentOS 7 is door het compose-binaire bestand te downloaden vanuit de GitHub-repository van Docker.

Op het moment dat dit artikel werd geschreven, is versie 1.23.1 de nieuwste stabiele versie van Docker Compose. Voordat u de binaire compose downloadt, bezoekt u de releasepagina van de compose repository op GitHub en controleert u of er een nieuwe versie beschikbaar is om te downloaden.

Voer de volgende stappen uit om Docker Compose op CentOS 7 te installeren:

  1. Begin met het downloaden van de Docker Compose binary in de map /usr/local/bin met de volgende curl opdracht:

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

    Nadat de download is voltooid, maakt u het binaire bestand uitvoerbaar door te typen:

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

    Om de installatie te verifiëren, typt u de volgende opdracht om de Compose-versie af te drukken:

    docker-compose --version

    De uitvoer ziet er ongeveer zo uit:

    docker-compose version 1.23.1, build b02f1306

Aan de slag met Docker Compose

In dit gedeelte laten we zien hoe u Docker Compose kunt gebruiken om een ​​WordPress-stack op uw CentOS 7-machine uit te voeren.

Begin door een nieuwe map voor het project te maken en erin te navigeren:

mkdir my_app && cd my_app

Maak vervolgens een bestand met de naam docker-compose.yml in de projectmap:

nano docker-compose.yml

Plak de volgende inhoud:

havenarbeider-compose.yml

version: '3.3' services: db: image: mysql:5.7 restart: always volumes: - db_data:/var/lib/mysql environment: MYSQL_ROOT_PASSWORD: password MYSQL_DATABASE: wordpress wordpress: image: wordpress restart: always volumes: -./wp_data:/var/www/html ports: - "8080:80" environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_NAME: wordpress WORDPRESS_DB_USER: root WORDPRESS_DB_PASSWORD: password depends_on: - db volumes: db_data: wp_data:

Laten we de code regel voor regel analyseren.

De eerste regel geeft de versie van het Compose-bestand aan. Er zijn verschillende versies van het Compose-bestandsformaat met ondersteuning voor specifieke Docker-releases.

Vervolgens definiëren we twee services, db en wordpress . Elke service voert één afbeelding uit en er wordt een afzonderlijke container gemaakt wanneer Docker Compose wordt uitgevoerd.

De db service:

  • Gebruikt de mysql:5.7 afbeelding. Als de afbeelding niet op uw systeem aanwezig is, haalt Compose deze uit de openbare repository van Docker Hub. Gebruikt het herstart always beleid dat de container zal instrueren om altijd opnieuw te starten. Maakt een benoemd volume db_data om de database persistent te maken. db_data de omgevingsvariabelen voor de mysql:5.7 afbeelding.

De wordpress service:

  • Gebruikt de wordpress afbeelding. Als de afbeelding niet op uw systeem aanwezig is, haalt Compose deze uit de openbare repository van Docker Hub. Gebruikt het herstart always beleid dat de container zal instrueren om altijd opnieuw op te starten. Zet de wp_data map op de host op naar /var/lib/mysql in de container.Forwards de blootgestelde poort 80 op de container naar poort 8080 op de hostmachine.Definieert de omgevingsvariabelen voor de wordpress instructie afhankelijk_in definieert de afhankelijkheid tussen de twee services. In dit voorbeeld wordt db gestart vóór wordpress .

Draai vanuit de projectmap de WordPress-toepassing op met de volgende opdracht:

docker-compose up

De output zou er ongeveer zo uit moeten zien:

… wordpress_1 | AH00163: Apache/2.4.25 (Debian) PHP/7.2.10 configured -- resuming normal operations wordpress_1 | AH00094: Command line: 'apache2 -D FOREGROUND'

Compose wp_data beide afbeeldingen op, start twee containers en maakt de map wp_data in uw projectmap.

Open uw browser, typ http://0.0.0.0:8080/ in en u zult het Wordpress installatiescherm zien.

Op dit moment is de WordPress-toepassing actief en kunt u beginnen met werken aan uw thema of plug-in.

Druk op CTRL+C om Compose te stoppen. omgevingsvariabelen Als u Compose in een ontkoppelde modus wilt starten, gebruikt u de vlag -d :

docker-compose up -d

Gebruik de optie ps om de actieve services te controleren:

docker-compose ps

Name Command State Ports ---------------------------------------------------------------------------------- my_app_db_1 docker-entrypoint.sh mysqld Up 3306/tcp, 33060/tcp my_app_wordpress_1 docker-entrypoint.sh apach… Up 0.0.0.0:8080->80/tcp

Wanneer Compose in ontkoppelde modus wordt uitgevoerd om het gebruik van de services te stoppen:

docker-compose stop

Gebruik de optie down om de containers volledig te verwijderen:

docker-compose down

Als u de schakelaar --volumes , worden ook de gegevensvolumes verwijderd:

docker-compose down --volumes

Docker Compose verwijderen

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

Conclusie

U hebt geleerd hoe u Docker Compose op een CentOS 7 installeert en gebruikt.

docker centos