Docker to świetna platforma do instalacji różnych aplikacji w tzw. kontenerach, czyli w dużym skrócie oddzielnych środowiskach Linuksa (działa do na zasadzie maszyny wirtualnej wbudowanej w kernel Linuksa, kvm. Zatem wydajnościowo i rozmiarami przebija wszystkie inne maszyny wirtualne jak np. Virtualbox). Zapewnia to nam:
Pobieramy i instalujemy Dockera. W przypadku Windowsa i OSXa zainstalujemy Docker Toolboxa, który daje nam wszystko czego potrzebujemy. Można pomóc sobie tą stroną. Linux natomiast ma trochę inną metodę, ponieważ potrzebujemy dwóch pakietów i wszystko zależy od tego czy znajdują się one w repozytorium. Te pakiety to docker-engine oraz docker-compose. Przykładowo: Debian 8 posiada tylko docker-engine, zatem musimy wykonać coś takiego:
Zainstalowany? To świetnie! Najtrudniejsza rzecz za nami Teraz pozostaje nam skonfigurować środowisko dla MyBB. Tworzymy katalog w którym zainstalujemy MyBB, w moim wypadku będzie to ~/Projects/MyBB. Teraz otwieramy twój ulubiony edytor tekstowy (u mnie będzie to vim) i wpisujemy w nim coś takiego:
Zapisujemy plik do docker-compose.yml. W tym miejscu musimy się zatrzymać i zmienić niektóre parametry na swoje.
Wpisujemy port na którym chcemy by działało forum, w moim wypadku będzie to 8080, ponieważ Dockera konfiguruję do pracy na komputerze, ale w przypadku kiedy instalujemy go na serwerze produkcyjnym możemy bez obaw wpisać po prostu 80.
"secret" to nasze hasło do bazy danych jakie ustawiamy. Jako, że ja będę używać forum u siebie na komputerze, po prostu podam takie a nie inne. Ale Ty możesz poprawić je na inne, jeśli używasz Dockera gdzieś indziej. 8181, to port na jakim będzie pracował PHPMyAdmin, którego potrzebujemy do stworzenia bazy danych forum. Potem możesz usunąć ten fragment kodu, jeśli nie chcesz mieć PMA. Wtedy cały kod będzie wyglądał tak:
Okej! Mamy gotowy config. Co teraz? Wpisujemy docker-compose -d up i czekamy aż zostanie stworzony kontener z MyBB i uruchomiony.
Wchodzimy do PhpMyAdmin, w moim wypadku będzie to http://192.168.99.100:8181, tam logujemy się i tworzymy bazę danych dla MyBB:
Teraz pozostaje nam wejść i zainstalować MyBB. Wchodzimy do http://192.168.99.100:8080 i instalujemy forum w normalny sposób, dane do bazy danych to będą kolejno:
- Bezpieczeństwo - Na wypadek wykrycia bardzo poważnej luki w MyBB, włamujący nie przejdzie do głównego serwera, a będzie ograniczony jedynie do kontenerów jakie są podpięte do forum. Jest to też dobre wyjście np. w hostingach, aby każdy klient miał oddzielone środowisko. Nawet przy roocie nie będzie w stanie dużo zepsuć.
- Szybkość - Instalacja gotowego środowiska z LAMP to kwestia kilku minut, bo wszystko dzieje się automatycznie.
- Wygoda - takimi kontenerami bardzo łatwo zarządzać, wystarczy odpowiednio zainstalowane GUI, osobiście korzystam z Docker UI.
1 Instalacja Dockera
Pobieramy i instalujemy Dockera. W przypadku Windowsa i OSXa zainstalujemy Docker Toolboxa, który daje nam wszystko czego potrzebujemy. Można pomóc sobie tą stroną. Linux natomiast ma trochę inną metodę, ponieważ potrzebujemy dwóch pakietów i wszystko zależy od tego czy znajdują się one w repozytorium. Te pakiety to docker-engine oraz docker-compose. Przykładowo: Debian 8 posiada tylko docker-engine, zatem musimy wykonać coś takiego:
sudo su
apt-get install docker-engine
curl -L https://github.com/docker/compose/releases/download/1.6.0-rc1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
2 Konfiguracja środowiska dla MyBB
Zainstalowany? To świetnie! Najtrudniejsza rzecz za nami Teraz pozostaje nam skonfigurować środowisko dla MyBB. Tworzymy katalog w którym zainstalujemy MyBB, w moim wypadku będzie to ~/Projects/MyBB. Teraz otwieramy twój ulubiony edytor tekstowy (u mnie będzie to vim) i wpisujemy w nim coś takiego:
mybb:
image: siper/mybb
links:
- mybb_db:mysql
ports:
- 8080:80
mybb_db:
image: mariadb
environment:
MYSQL_ROOT_PASSWORD: secret
phpmyadmin:
image: corbinu/docker-phpmyadmin
links:
- mybb_db:mysql
ports:
- 8181:80
environment:
MYSQL_USERNAME: root
MYSQL_ROOT_PASSWORD: secret
Zapisujemy plik do docker-compose.yml. W tym miejscu musimy się zatrzymać i zmienić niektóre parametry na swoje.
Cytat:mybb:
image: siper/mybb
links:
- mybb_db:mysql
ports:
- 8080:80
Wpisujemy port na którym chcemy by działało forum, w moim wypadku będzie to 8080, ponieważ Dockera konfiguruję do pracy na komputerze, ale w przypadku kiedy instalujemy go na serwerze produkcyjnym możemy bez obaw wpisać po prostu 80.
Cytat:mybb_db:
image: mariadb
environment:
MYSQL_ROOT_PASSWORD: secret
phpmyadmin:
image: corbinu/docker-phpmyadmin
links:
- mybb_db:mysql
ports:
- 8181:80
environment:
MYSQL_USERNAME: root
MYSQL_ROOT_PASSWORD: secret
"secret" to nasze hasło do bazy danych jakie ustawiamy. Jako, że ja będę używać forum u siebie na komputerze, po prostu podam takie a nie inne. Ale Ty możesz poprawić je na inne, jeśli używasz Dockera gdzieś indziej. 8181, to port na jakim będzie pracował PHPMyAdmin, którego potrzebujemy do stworzenia bazy danych forum. Potem możesz usunąć ten fragment kodu, jeśli nie chcesz mieć PMA. Wtedy cały kod będzie wyglądał tak:
mybb:
image: siper/mybb
links:
- mybb_db:mysql
ports:
- 8080:80
mybb_db:
image: mariadb
environment:
MYSQL_ROOT_PASSWORD: secret
3 Uruchomienie Dockera i instalacja MyBB
Okej! Mamy gotowy config. Co teraz? Wpisujemy docker-compose -d up i czekamy aż zostanie stworzony kontener z MyBB i uruchomiony.
Jak pisałem, dla Windowsa i OSX, Docker został uruchomiony w Virtualboxie, dlatego musimy znać jego adres IP, będzie to 192.168.99.100, dla Linuksa będzie to oczywiście localhost.
Wchodzimy do PhpMyAdmin, w moim wypadku będzie to http://192.168.99.100:8181, tam logujemy się i tworzymy bazę danych dla MyBB:
Teraz pozostaje nam wejść i zainstalować MyBB. Wchodzimy do http://192.168.99.100:8080 i instalujemy forum w normalny sposób, dane do bazy danych to będą kolejno:
- Host: 172.17.0.2
- User: root
- Hasło: secret
- Baza danych: mybb