Android

Docker Compose installeren en gebruiken op Debian 9

How to install Docker on Linux Debian 9?

How to install Docker on Linux Debian 9?

Inhoudsopgave:

Anonim

Docker Compose is een hulpmiddel waarmee u Docker-toepassingen met meerdere containers kunt definiëren en orkestreren. Het gebruikt een YAML-bestand om de containers, netwerken en volumes van de toepassing te configureren.

Compose kan voor verschillende doeleinden worden gebruikt. Implementaties van afzonderlijke hostapplicaties, geautomatiseerde testen en lokale ontwikkeling zijn de meest populaire use cases voor Docker Compose.

In deze zelfstudie wordt het installatieproces van de nieuwste versie van Docker Compose op Debian 9 doorlopen. We zullen ook de basisconcepten en opdrachten van Docker Compose verkennen.

voorwaarden

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

  • Aangemeld als een gebruiker met sudo-rechten. Heb Docker op uw Debian 9-machine geïnstalleerd.

Docker Compose op Debian installeren

Het Docker Compose-installatiepakket is beschikbaar in de officiële Debian 9-repositories, maar het is mogelijk niet altijd de nieuwste versie. De aanbevolen aanpak is om Docker Compose te installeren 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 de nieuwste versie van Docker Compose op Debian 9 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

    Wanneer de download is voltooid, geeft u uitvoerbare machtigingen aan de binaire compose:

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

    Controleer de installatie door te typen:

    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-stapel op uw Debian 9-machine te beheren.

Begin met het maken van een map voor het project en deze te wijzigen:

mkdir wordpress_app cd wordpress_app

Open uw teksteditor en maak 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:

Dus wat doet de bovenstaande code?

In de eerste regel specificeren we de Compose-bestandsversie. 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. Creëert een benoemd volume db_data om de database te behouden. 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 wp_data 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 .

Start de WordPress-toepassing vanuit de projectmap door de volgende opdracht uit te voeren:

docker-compose up

De output zou er ongeveer zo uit moeten zien:

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

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

Voer http://0.0.0.0:8080/ in uw browser in en u ziet het installatiescherm van Wordpress.

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.

U kunt de Compose ook in een ontkoppelde modus starten door de vlag -d passeren.

docker-compose up -d

Gebruik de optie ps om de actieve services te controleren:

docker-compose ps

Name Command State Ports ---------------------------------------------------------------------------------- wordpress_app_db_1 docker-entrypoint.sh mysqld Up 3306/tcp, 33060/tcp wordpress_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

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 Debian 9 installeert en gebruikt. Als u vragen heeft, kunt u hieronder een reactie achterlaten.

docker debian