Vill du lära dig hur du kör flera tjänster inuti en Docker-container? I den här guiden, vi ska visa dig alla steg som krävs för att köra flera tjänster inuti en Docker-behållare på en dator som kör Ubuntu Linux.
• Ubuntu 18.04
• Ubuntu 19.10
• Hamnarbetare 19.03.6
I vårt exempel kommer en enda Docker-behållare att köra MySQL-tjänsten och Apache-tjänsten.
Apache-tjänsten kommer att lyssna på TCP-porten 80.
MySQL-tjänsten kommer att lyssna på TCP-porten 3306.
Självstudie docker – Container som kör flera tjänster
Installera dockertjänsten.
Hämta Ubuntu docker-avbildningen från online-lagringsplatsen.
Lista Docker-bilderna som är installerade på ditt system.
Här är kommandot utgång:
Starta en ny Ubuntu-behållare med hjälp av den här Docker-avbildningen.
Nu, du är på behållaren kommandoraden.
I vårt exempel användes Ubuntu-avbildningen för att starta en ny behållare.
I vårt exempel är behållar-ID 62f9adcafb62.
I vårt exempel fick behållaren namnet MYCONTAINER.
Installera listan över paket som krävs.
Installera Apache-tjänsten.
Systemet kommer att begära att du väljer en tidszon.
I vårt exempel konfigurerade vi tidszonen till Amerika, São Paulo.
Installera Tjänsten MySQL.
Redigera konfigurationsfilen För MySQL med namnet mysqld.cnf.
Inuti konfigurationsfilen letar du upp följande rad.
Ändra det här radvärdet till 0.0.0.0.
Starta MySQL-tjänsten manuellt inuti behållaren.
Få åtkomst till kommandoraden MySQL.
Ange ett lösenord för MySQL-rotanvändaren.
I vårt exempel var rotanvändarlösenordet inställt på kamisama123.
Skapa en konfigurationsfil med namnet supervisord.conf.
Här är filinnehållet.
På rotkatalogen för behållaren skapar du ett skript med namnet run.sh.
Här är filinnehållet.
Konfigurera rätt filbehörighet.
Avsluta containerns kommandorad.
Skapa en Docker-avbildning baserad på den här behållaren.
I vårt exempel skapade vi en Docker-avbildning med namnet MYIMAGE baserat på behållaren med namnet MYCONTAINER.
Starta en ny Docker-behållare med hjälp av den avbildning som skapats.
Testa din åtkomst till Apache-tjänsten.
Här är kommandot utgång:
Testa din tillgång till MySQL-tjänsten.
Här är kommandot utgång:
Grattis! Du har avslutat skapandet av en Docker-avbildning som erbjuder flera tjänster.