Slik bruker du Docker Compose-filer uten docker-compose-kommandoen

Slik bruker du Docker Compose-filer uten docker-compose-kommandoen Finn ut hvordan du kan bruke docker-compose.yml-filer uten docker-compose-kommandoen.

Beholdere har blitt et integrert verktøy i forretningsteknologi. Men for de som er nye på containere, kan det være litt forvirrende. Dette gjelder spesielt når du innser hvor mange forskjellige metoder det er å distribuere slike apper og tjenester på nettverket ditt.

Bruker du Docker, Docker Compose eller Kubernetes? Hva om du har valgt å gå den mer fleksible Docker Compose-ruten, men ikke ønsker å installere docker-compose-kommandoen? Eller kanskje du har et antall filer som er bygd for Docker Compose, men vil kjøre dem med Docker?

10 ting selskaper oppbevarer i sine egne datasentre (TechRepublic nedlasting)

Du kan. Takket være docker stack-kommandoen er det mulig å benytte seg av disse docker-compose.yml-filene, for å distribuere en full bunke containere til den allerede kjørende Docker Swarm-klyngen, med bare Docker installert. Det betyr at du har et valg mellom å bruke en Dockerfile- eller docker-compose.yml-fil for distribusjon av containerstablene.

Men hvordan gjør du dette? La meg vise deg.

Datasenter må leses

  • 8 datasenterprognoser for 2020
  • 7 nettverksvarslinger for 2020: Automatisering, edge computing, Wi-Fi 6, mer
  • Beste praksis for server virtualisering og tips om hva du ikke skal gjøre
  • Kvanteberegning: Syv sannheter du trenger å vite

Hva du trenger

Det eneste du trenger for å få dette til å gjøre er:

  • En fungerende installasjon av Docker
  • En utplassert docker-svermklynge
  • En docker-compose.yml-fil du kan bruke

Hvis du vil finne ut hvordan du distribuerer en Docker-sverm, kan du lese Hvordan lage en Docker-sverm.

En rask advarsel

Før du dykker i, er det en advarsel du bør vite om først. Å bruke docker stack-kommandoen vil mislykkes hvis docker-compose.yml-filen avhenger av en Dockerfile for å bygge et bilde. En slik docker-compose.yml-seksjon kan se ut:

 nett: bygg:. porter: - "8080: 80" 

Ovennevnte vil mislykkes. I stedet må du erklære denne delen slik:

 web: image: nginx-porter: - "8080: 80" 

Vår prøve YML-fil

I forbindelse med denne demonstrasjonen vil vi gjenbruke filen fra artikkelen "Slik bygger du en Docker Compose-fil" -artikkel (minus build-delen). Så filen vår docker-compose.yml vil se slik ut:

 Versjon: '3' tjenester: web: image: nginx porter: - "8080: 80" db: image: mysql porter: - "3336: 3306" miljø: - MYSQL_ROOT_PASSWORD = passord - MYSQL_USER = bruker - MYSQL_PASSWORD = passord - MYSQL_DATABASE = passord demodb 

Du kan endre hvilken som helst av MYSQL-variablene etter dine behov. Vi lagrer filen i en katalog som heter ~ / dockerbuild.

Deploy med docker stack

Denne docker-compose.yml-filen kan distribueres ved hjelp av docker-compose up-kommandoen. Imidlertid kommer vi til å gjøre det samme med docker stack-kommandoen. Vi kommer til å navngi stacken vår nginxdb, så kommandoen for å distribuere vil være:

 docker stack distribuere -c docker-compose.yml nginxdb 

Fordelingen av kommandoen er:

  • docker stack er hovedkommandoen.
  • distribusjon indikerer at vi distribuerer stabelen.
  • -c indikerer at det som følger er konfigurasjonsfilen som skal brukes.
  • docker-compose.yml er konfigurasjonsfilen.
  • nginxdb er navnet på bunken som skal distribueres.

Kommandoen skal rapportere følgende:

 Opprette tjeneste nginx_web Opprette tjeneste nginx_db 

Hvis vi gir ut kommandodokeren ps -a, kan vi se at våre to containere er blitt utplassert ( figur A ).

Figur A

En ting å vite er at du med docker-compose har enkel tilgang til å hente ned containerne med:

 docker-komponer ned 

Siden vi er i Docker Swarm-modus, må du skalere den ned til 0. For å stoppe en container, må du kjenne navnet på beholderen ved å bruke docker ps -a og deretter skalere den ned med kommandoen:

 docker service skala NAME = 0 

Hvor NAME er navnet på den eller de løpende containere som skal stoppes.

Og det er essensen av å bruke en docker-compose.yml-fil, uten å måtte legge docker-compose i blandingen. Dette er bare et annet verktøy i containerverktøykassen. Gi docker stack en tur og se om du foretrekker det fremfor docker-komponere take on distribuere containere.

Datasenter Trender Nyhetsbrev

DevOps, virtualisering, hybridsky, lagring og driftseffektivitet er bare noen av datasentertemaene vi vil trekke frem. Leveres mandager og onsdager

Registrer deg i dag

© Copyright 2020 | mobilegn.com