Android

Sådan installeres og bruges docker compose på debian 10 linux

Contain Yourself: An Intro to Docker and Containers by Nicola Kabar and Mano Marks

Contain Yourself: An Intro to Docker and Containers by Nicola Kabar and Mano Marks

Indholdsfortegnelse:

Anonim

Docker er en containeriseringsplatform, der giver dig mulighed for hurtigt at bygge, teste og distribuere applikationer som bærbare, selvforsynende containere, der kan køre praktisk talt overalt.

Docker Compose er et værktøj, der giver dig mulighed for at definere og orkestreere Docker-applikationer med flere containere. Den bruger en YAML-fil til at konfigurere applikationens containere, netværk og volumener.

Komponere kan bruges til forskellige formål. Enkelt værtapplikationsinstallationer, automatiseret test og lokal udvikling er de mest populære anvendelsessager til Docker Compose.

Denne tutorial forklarer, hvordan du installerer den nyeste version af Docker Compose på Debian 10, Buster. Vi undersøger også de grundlæggende Docker Compose-koncepter og -kommandoer.

Forudsætninger

Før du fortsætter, skal du sørge for, at du har opfyldt følgende forudsætninger:

  • Logget ind som bruger med sudo-privilegier. Du har Docker installeret på din Debian 10-maskine.

Installation af Docker Compose på Debian 10

Docker Compose-installationspakken er tilgængelig i de officielle Debian 10-lagre, men det er muligvis ikke altid den seneste version. Den anbefalede fremgangsmåde er at installere Docker Compose fra Dockers GitHub-lager.

På dette tidspunkt, hvor denne artikel skrives, er den seneste stabile version af Docker Compose version 1.23.1 . Inden du downloader Compose binært, skal du besøge Compose-arkivets udgivelsesside på GitHub og kontrollere, om der er en ny version til download.

Brug følgende trin til at installere den nyeste version af Docker Compose på Debian 10:

  1. Download Docker Compose binært i /usr/local/bin biblioteket med wget eller curl :

    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

    Brug chmod til at gøre Compose binær eksekverbar:

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

    For at verificere installationen skal du bruge følgende kommando, der udskriver Compose-versionen:

    docker-compose --version

    Outputet ser sådan ud:

    docker-compose version 1.23.1, build b02f1306

Kom godt i gang med Docker Compose

I dette afsnit viser vi, hvordan man opretter et lokalt WordPress-udviklingsmiljø med Docker Compose.

Opret en mappe til projektet og naviger ind i det:

mkdir wordpress_app && cd wordpress_app

Åbn din teksteditor og opret en fil ved navn docker-compose.yml :

nano docker-compose.yml

Indsæt følgende indhold:

havnearbeider-compose.yml

version: '3.7' services: db: image: mysql:8.0 command: --default-authentication-plugin=mysql_native_password 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:

Lad os forklare koden linje for linje

Den første linje specificerer komponeringsfilversionen. Der er flere forskellige versioner af Compose-filformatet med understøttelse af specifikke Docker-udgivelser.

Dernæst definerer vi to tjenester, db og wordpress . Hver service opretter en separat container, når Docker Compose køres.

db tjenesten:

  • Billedet er indstillet til mysql:8.0 billede. Hvis billedet ikke er til stede, vil Compose trække det fra det offentlige depot for Docker Hub. Linjen, der starter med command tilsidesætter standardkommandoen. restart: always politik instruerer Komponere for at genstarte containeren, hvis den går ned. Containeren bruger et navngivet volumen db_data til at fortsætte databasen. db_data miljøvariablerne for mysql:8.0 billedet.

wordpress tjenesten:

  • Bruger wordpress billedet.Monterer wp_data biblioteket på værten til /var/lib/mysql inde i containeren. wp_data den eksponerede port 80 på containeren til port 8080 på værtsmaskinen. depends_on miljøvariablerne for wordpress depends_on instruktion definerer afhængigheden mellem de to tjenester. I dette eksempel startes db før wordpress .

Start projektmappen ved at køre følgende kommando fra projektmappen:

docker-compose up

Outputet skal se sådan ud:

…] /usr/sbin/mysqld: ready for connections. Version: '8.0.18' socket: '/var/run/mysqld/mysqld.sock' port: 3306 MySQL Community Server - GPL. db_1_99946702ac7e | 2019-12-15T21:37:29.109255Z 0 X Plugin ready for connections. Socket: '/var/run/mysqld/mysqlx.sock' bind-address: '::' port: 33060…

Docker Compose trækker billederne, starter containerne og opretter wp_data biblioteket i dit projektmappe.

Indtast http://0.0.0.0:8080/ i din browser, så ser du standard WordPress installationsskærm.

På dette tidspunkt kører WordPress-applikationen, og du kan begynde at arbejde på det.

For at stoppe komponering skal du trykke på CTRL+C

Du kan også starte Compose i en løsrevet tilstand ved hjælp af indstillingen -d :

docker-compose up -d

For at se de kørende dockercontainere skal du bruge følgende kommando:

docker-compose ps

Name Command State Ports ------------------------------------------------------------------------------------------------------ wordpress_app_db_1_99946702ac7e docker-entrypoint.sh --def… Up 3306/tcp, 33060/tcp wordpress_app_wordpress_1_a428d8408817 docker-entrypoint.sh apach… Up 0.0.0.0:8080->80/tcp

For at stoppe tjenesterne, når Compose kører i løsrevet tilstand, skal du bruge:

docker-compose stop

docker-compose down

Ved at --volumes kontakten - --volumes fjernes også datamængderne:

docker-compose down --volumes

Afinstallation af Docker Compose

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

Konklusion

Hvis du vil installere Docker Compose på en Debian 10, skal du blot downloade den binære i et bibliotek i systemstien og gøre det eksekverbart.

docker debian