Docker, CentOS, LAMP och nätverkskoppling till

Docker, CentOS, LAMP och nätverkskoppling till omvärlden
I dokumentet kommer vi att installera och arbeta med Docker på virtuell
maskin baserad på Ubuntu 14.04 LTS Server, skapa CentOS container med
LAMP installerat, med nätverkskoppling till omvärlden.
Arbetsuppgift 1: Installation av Docker.
Dokumentet beskriver hur Docker installeras på Ubuntu 14.04 TLS Server.
Steg 1: Starta och logga på din Ubuntubaserade server.
Installation av Docker.
Steg 2: Skriv in kommandot: sudo apt-get update, klicka därefter på
Enter. Skriv in root-lösenord, klicka därefter på Enter.
Steg 3: Skriv in kommandot: sudo apt-get upgrade, klicka därefter på
Enter.
Steg 4: Skriv in kommandot: sudo apt-get install docker.io, klicka
därefter på Enter.
Efter installation skall vi fixa till lite länkar och andra saker.
Steg 5: Skriv in kommandot: sudo ln –sf /usr/bin/docker.io
/usr/local/bin/docker, klicka därefter på Enter.
Steg 6: Skriv in kommandot: sudo sed –i ’$acomplete –F _docker
docker’ /etc/bash_completion.d/docker.io, klicka därefter på
Enter.
(Notering 1: Tänk på: ’ rak apostrof. Kommandot lägger till en rad, specificerat
efter $a, till slutet på filen som definieras i slutet av kommandot.)
(Notering 2: Får du felmeddelande att fil eller katalog inte finns, har du skrivit
sudo apt-get install docker, gör om Steg 4!)
Se till så att Docker startas vid uppstart av server.
Steg 7: Skriv in kommandot: sudo update-rc.d docker.io
defaults, klicka därefter på Enter.
Starta om din server.
Steg 8: Skriv in kommandot: sudo reboot, klicka därefter på Enter.
Arbetsuppgift 2: Hämta avspegling för gästoperativsystemet.
Steg 1: Skriv in kommandot: sudo docker pull centos, klicka därefter
på Enter. CentOS kommer nu att hämtas och kopieras till din virtuella maskin.
Steg 2: Skriv in kommandot: sudo docker images, klicka därefter på Enter.
Lista över tillgängliga images visas.
Steg 3: Anslut till version 6.6 , genom att skriva in följande kommando: sudo
docker run –i –t IMAGE ID /bin/bash, klicka därefter på Enter.
IMAGE ID ser du i kolumnen.
Du kommer nu att vara inloggad i din behållare, som root. Från shell kan du
nu göra sådana saker som du normalt gör härifrån, t ex installera applikationer.
Arbetsuppgift 3: Installation av LAMP
Steg 3: Skriv in kommandot: yum install –y httpd php phpcommon php-cli php-pdo php-mysql php-xml php-mbstring
mysql mysql-server, klicka därefter på Enter.
Skapa container.
Steg 4: Stäng container: skriv in kommandot: exit, klicka därefter på Enter.
För att skapa ny behållaren, måste vi veta ID-nummer. Skriv in kommandot:
sudo docker ps –a, klicka på Enter.
Skriv in kommandot: sudo docker commit id_nummer webb (IDnummer för den senaste, dvs överst i listan), klicka på Enter. Detta kommer att
skapa ny behållare, som är förinstallerat med LAMP. Denna kan sedan
användas som grundbehållare för ytterligare avspeglingar.
Se tillgängliga behållare.
Steg 5: Skriv in kommandot: sudo docker images, klicka därefter på Enter.
Starta behållare.
Steg 6: Skriv in kommandot: sudo docker run –i –t –p :80 webb
/bin/bash, klicka därefter på Enter. (-p :80 är vilken port Docker
vidarebefordrar trafik, från behållare till värd.)
Steg 7: Skriv in kommandot: php –v, klicka därefter på Enter.
Vi har behållare med LAMP installerat och verifierat att PHP fungerar.
Starta Apache
Steg 8: Skriv in kommandot: /sbin/service httpd start, klicka
därefter på Enter.
Steg 9: Skriv in kommandot: sudo docker commit id_nummer webbk,
klicka därefter på Enter. ID-nummer kan du se under Steg 4, hur du går tillväga.
Arbetsuppgift 4: Konfigurera nätverket.
På din virtuella Ubuntuserver.
Steg 1: Skriv in kommandot: sudo stop docker.io, klicka därefter på
Enter.
Konfiguration av brygga mot docker.
Steg 2: Skriv in kommandot: sudo ip link add br0 type bridge,
klicka därefter på Enter.
Steg 3: Skriv in kommandot: sudo ip addr add 192.168.X.100/24
dev br0, klicka därefter på Enter.
Steg 4: Skriv in kommandot: sudo ip link set br0 up, klicka därefter
på Enter.
Steg 5: Skriv in kommandot: sudo start docker.io, klicka därefter på
Enter.
Klart!
Arbetsuppgift 5: Starta din container, kontrollera nätverkskonfiguration.
Steg 1: Skriv in kommandot: sudo docker run –i –t --net=’host’
–p :80 webbk /bin/bash, klicka därefter på Enter.
Steg 2: Skriv in kommandot: ifconfig, klicka därefter på Enter.
Steg 3: Din container skall nu ha fått IP-adress i 192.168.x.0/24 segmentet.
Skriv in kommandot: exit, klicka därefter på Enter.
Dags att göra nätverkskonfigurationen bestående.
Steg 4: Skriv in kommandot: sudo apt-get install bridge-utils,
klicka därefter på Enter.
Steg 5: Skriv in följande kommando: sudo nano
/etc/network/interfaces, klicka på Enter.
Editera enligt följande:
Kommentera bort referenser till eth0.
Skriv till:
auto br0
iface br0 inet static
address 192.168.x.100
netmask 255.255.255.0
bridge_ports eth0
bridge_stp off
När du är klar, klicka på ctrl+o för att spara, bekräfta genom att klicka på Enter.
Klicka på ctrl+x för att avsluta nano.
Steg 6: Skriv in kommandot: sudo reboot, klicka därefter på Enter.
Steg 7: Efter omstart, logga på din maskin.
Steg 8: Skriv in kommandot:
brctl show, klicka därefter
på Enter. Ange ditt rootlösenord, klicka på Enter.
Arbetsuppgift 6: Starta din container, kontrollera nätverkskonfiguration.
Steg 1: Skriv in kommandot: sudo docker run –i –t --net=’host’
–p :80:80 webbk /bin/bash, klicka därefter på Enter.
Steg 2: Skriv in kommandot: ifconfig, klicka därefter på Enter.
Du skall nu ha fått ett ”nytt” nätverkskort.
Steg 2: Skriv in kommandot: ping –c 4 192.168.x.100, klicka därefter
på Enter. Du skall få fyra stycken svar ifrån 192.168.x.100.
Steg 3: Skriv in kommandot: service httpd start, klicka därefter på
Enter. Apache kommer att
startas upp.
Arbetsuppgift 7: Testa från
klient, anslut via webbläsaren
till url: 192.168.x.100.
Steg 1: Starta och logga på din
klient, öppna webbläsare. Skriv
in url: 192.168.x.100, du skall
få svar från din container.
Skapa testsida för att testa bl a PHP.
Steg 2: Skriv in kommandot: vi /var/www/html/index.php, klicka
därefter på Enter.
Steg 3: Klicka på ESC plus i för insert, skriv in följande text:
<?php
phpinfo();
?>
Spara och avsluta vi.
Stäng ner container, ta reda på ID-nummer och skriv förändringar till images.
Steg 4: Stäng container: skriv in kommandot: exit, klicka därefter på Enter.
För att skapa ny behållaren, måste vi veta ID-nummer. Skriv in kommandot:
sudo docker ps –a | more, klicka på Enter.
Steg 5: Skriv in kommandot: sudo docker commit id_nummer webbk,
klicka därefter på Enter. (ID-nummer är på den översta raden.)
Starta container igen.
Steg 6: Skriv in kommandot: sudo docker run –i –t --net=’host’
–p :80:80 webbk /bin/bash, klicka därefter på Enter.
Testa att sidan visas.
Steg 7: Från din klientmaskin, öppna webbläsare, skriv in
ip_adress_till_docker/index.php, klicka därefter på Enter.
Att starta Apache2 automatiskt.
Steg 8: På din server, skriv in kommandot: sudo docker run –i –t –
net=’host’ –p :80:80 webbk /usr/sbin/httpd –D
FOREGROUND, klicka därefter på Enter.
Arbetsuppgift 8: Testa från klient, anslut via webbläsaren till url: 192.168.x.100.
Steg 1: Starta och logga på din klient, öppna webbläsare. Skriv in url:
192.168.x.100, du skall få svar från din container som visar PHP Info.
När du vill avbryta container, klicka på Ctrl+c avbryter körningen.