Wilt u leren hoe u meerdere services in een Docker-container uitvoeren? In deze zelfstudie laten we je alle stappen zien die nodig zijn om meerdere services in een Docker-container uit te voeren op een computer waarop Ubuntu Linux wordt uitgevoerd.
• Ubuntu 18.04
• Ubuntu 19.10
• Docker 19.03.6
In ons voorbeeld wordt met één Docker-container de MySQL-service en de Apache-service uitgevoerd.
De Apache-service luistert op de TCP-poort 80.
De MySQL-service luistert op de TCP-poort 3306.
Zelfstudiedocker – Container met meerdere services
Installeer de Docker-service.
Download de Ubuntu docker afbeelding van de online repository.
Vermeld de Docker-afbeeldingen die op uw systeem zijn geïnstalleerd.
Hier is de opdrachtuitvoer:
Start een nieuwe Ubuntu-container met deze Docker-afbeelding.
Nu zit je op de container command-line.
In ons voorbeeld werd de Ubuntu-afbeelding gebruikt om een nieuwe container te starten.
In ons voorbeeld is de container-ID 62f9adcafb62.
In ons voorbeeld kreeg de container de naam MYCONTAINER.
Installeer de lijst met vereiste pakketten.
Installeer de Apache-service.
Het systeem zal u vragen om een tijdzone te selecteren.
In ons voorbeeld hebben we de tijdzone naar Amerika, São Paulo, geconfigureerd.
Installeer de MySQL-service.
Bewerk het MySQL-configuratiebestand met de naam mysqld.cnf.
Zoek in het configuratiebestand de volgende regel.
Wijzig deze lijnwaarde in 0,0,0.0.
Start de MySQL-service handmatig in de container.
Toegang tot de MySQL-opdrachtregel.
Stel een wachtwoord in voor de MySQL-hoofdgebruiker.
In ons voorbeeld is het wachtwoord van de rootgebruiker ingesteld op kamisama123.
Maak een configuratiebestand met de naam supervisord.conf.
Hier is de inhoud van het bestand.
Maak in de hoofdmap van de container een script met de naam run.sh.
Hier is de inhoud van het bestand.
Configureer de juiste bestandsmachtiging.
Verlaat de opdrachtregel van de container.
Maak een Docker-afbeelding op basis van deze container.
In ons voorbeeld hebben we een Docker-afbeelding gemaakt met de naam MYIMAGE op basis van de container met de naam MYCONTAINER.
Start een nieuwe Docker-container met de afbeelding die is gemaakt.
Test uw toegang tot de Apache-service.
Hier is de opdrachtuitvoer:
Test uw toegang tot de MySQL-service.
Hier is de opdrachtuitvoer:
Gefeliciteerd! U bent klaar met het maken van een Docker-afbeelding die meerdere services aanbiedt.