Hur man använder kommandot docker-compose

Hur du använder kommandot docker-compose Ta reda på hur du börjar arbeta med kommandot docker-compose.

Måste läsa molnet

  • Cloud computing 2020: Förutsägelser om säkerhet, AI, Kubernetes, mer
  • De viktigaste molnframstegen under decenniet
  • Top desktop som en tjänsteleverantör (DaaS): Amazon, Citrix, Microsoft, VMware och mer
  • Cloud computing policy (TechRepublic Premium)

Hantera och distribuera Docker-containrar kan göras på många sätt. Du kan använda det raka upp-docker-kommandot, du kan arbeta via ett av de många GUI-verktygen (både webbaserad och stationär klientorienterad), eller du väljer att gå till docknings-kompositionsvägen.

Vad är Docker Compose? Enkelt: Docker Compose används för att skapa containrar och länkarna mellan dem. Men dockaren-komposera-kommandot är faktiskt ganska lite mer användbart än så. Med det här kommandot kan du: Bygga bilder, skala containrar, läka containrar, visa utmatning från containrar, lista den öppna porten i en container och mycket mer.

Men hur använder du docker-compose? Låt oss ta reda på hur.

Serverlös databehandling: En guide för IT-ledare (TechRepublic Premium)

Hur du installerar Docker Compose

Även om du har installerat Docker på din server är chansen att Docker Compose inte installerades tillsammans med den. För att installera Docker Compose, utfärda följande kommandon:

 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 sudo chmod + x / usr / local / bin / docker-compose 

Verifiera installationen med kommandot:

 docker-komponera version 

Du bör se versionnumren för några applikationer ( figur A ).

Figur A

Docker Compose installed and ready.

" data-credit="" rel="noopener noreferrer nofollow">

Docker Compose installerad och klar.

Docker-filen

För att distribuera en behållare, beror Docker Compose på en docker-compose.yml-fil, som är en fil som används för att distribuera en Docker-behållare efter dina specifika detaljer. Låt oss säga att du vill distribuera en Wordpress-behållare. Skapa först en ny katalog med kommandot:

 mkdir ~ / wordpressbuild 

Ändra till den nya katalogen med kommandot:

 cd ~ / wordpressbuild 

Skapa den nya Docker Compose-filen med kommandot:

 nano docker-compose.yml 

Klistra in följande innehåll (hämtat från den officiella Docker Compose-dokumentationen) i filen:

 version: '3.3' tjänster: db: image: mysql: 5.7 volymer: - db_data: / var / lib / mysql omstart: alltid miljö: MYSQL_ROOT_PASSWORD: hvernigordpress MYSQL_DATABASE: wordpress MYSQL_USER: wordpress MYSQL_PASSWORD: wordpress wordpress: image:: wordpress: senaste portarna: - "8000: 80" omstart: alltid miljö: WORDPRESS_DB_HOST: db: 3306 WORDPRESS_DB_USER: wordpress WORDPRESS_DB_PASSWORD: wordpress WORDPRESS_DB_NAME: wordpress volymer: db_data: {} 

Spara och stäng den filen.

Nu bygger vi projektet och distribuerar behållaren i fristående läge med kommandot:

 docker-compose up -d 

Kommandot laddar ner alla nödvändiga bilder (i detta fall MySQL och Wordpress) och distribuerar sedan tjänsten på port 8000. Du kan peka en webbläsare till http: // SERVER_IP: 8000 (där SERVER_IP är IP-adressen till värdservern ) för att se Wordpress-installationssidan ( figur B ).

Figur B

The Wordpress installer.

" data-credit="" rel="noopener noreferrer nofollow">

Wordpress-installationsprogrammet.

Hur du checka in på din distribution

Låt oss säga att du vill kontrollera loggarna från din distribution. För att göra detta, utfärda kommandot:

 docker-komponera loggar 

Du bör se massor av information från din senaste installation ( figur C ).

Figur C

Viewing the logs from the docker-compose deployment of Wordpress.

" data-credit="" rel="noopener noreferrer nofollow">

Visa loggarna från docker-komponera distributionen av Wordpress.

Det kommandot kommer att spottas ut mycket information (särskilt om du har distribuerat många containrar). Istället kan du ange en tjänst som loggfiler ska visas för. Hur vet jag vilket servicenamn jag ska använda? Kontrollera filen docker-compose.yml. I vårt exempel har vi två tjänster:

  • db - databasen
  • wordpress - Wordpress-behållaren

Så om du bara vill visa loggarna för wordpress-tjänsten skulle kommandot vara:

 docker-komponera loggar wordpress 

Du kan också följa loggarnas utgång (på samma sätt som du använder svängkommandot) så:

 docker-komponera loggar -f wordpress 

Varje gång ny information loggas för wordpress-tjänsten visas den i terminalfönstret ( figur D ).

Figur D

Following the wordpress service logs.

" data-credit="" rel="noopener noreferrer nofollow">

Följer serviceloggarna för wordpress.

Vad händer om du glömde vilka portar du använde i din distribution? Du kan kontrollera docker-compose.yml-filen, eller du kan använda portalternativet med kommandot docker-compose. Du måste känna till det interna kommandot för en tjänst. Till exempel standard är Wordpress port 80, så vi vet att det är den interna porten. Men vad tilldelade vi den nätverksansatta porten? Ta reda på med kommandot:

 docker-komponera port wordpress 80 

Utgången från detta kommando visar att vi mappade den interna porten 80 till den externa porten 8000 ( figur E ).

Figur E

Our port mapping for Wordpress.

" data-credit="" rel="noopener noreferrer nofollow">

Vår portkartläggning för Wordpress.

Om du inte kommer ihåg vilka behållare du har använt kan du utfärda kommandot:

 docker-compose ps 

Utgången listar upp alla behållare du har använt ( figur F ).

Figur F

A listing of containers.

" data-credit="" rel="noopener noreferrer nofollow">

En lista med containrar.

Har just börjat

Och det bör komma igång med kraften som finns i Docker Compose. När vi nästa gång besöker det här ämnet kommer vi att dela ned filen docker-compose.yml och ta reda på hur du bygger din egen.

Open Source Weekly Newsletter

Du vill inte missa våra tips, handledning och kommentarer om Linux OS och open source-applikationer. Levereras tisdagar

Registrera dig idag

© Copyright 2020 | mobilegn.com