Temat: Docker
Temat: | Docker |
Data: | 2015-02-13 |
Treść: |
Nie do końca jestem przekonany czy docker dla developerów pracujących na windows (mam na myśli środowisko deweloperskie nie produkcyjne) to dobre rozwiązanie (chodzi przecież o natywne komendy linuxa na linuxie). Postanowiłem jednak spróbować, oto wykonane przeze mnie kroki:
1. Zainstalowałem docker dla windows (wersja instalacyjna ze strony dockera). W trakcie instalacji nie wybrane zostały msys-git i virtualbox, bo mam już je zainstalowane. Niestety na drugim komputerze nie powiodła się instalacja VirtualBox, prawdopodobnie jest to spowodowane 64 bitową wersją.
2. Startuje dockera:
Boot2Docker StartOczywiście polecenie należy wykonać z poziomu msys-git a nie windows. 3. W ten sposób wystartował mi zwykły czysty linux. 4.Aby zainstalować obraz ubuntu należy wykonać polecenie docker pull ubuntuW ten sposób zostanie pobrany zdalny obraz ubuntu i zainstalowany. Obrazy są dostępne na github, można ich szukać poleceniem docker search szukana_nazwa5. Obraz został pobrany więc startujemy ubuntu: docker run -i -t ubuntu /bin/bash6. Teraz już "normalnie" instaluje openjdk oraz tomee na moim obrazie. 7. Jeśli jednak wyjdę z mojego ubunut przez zwykłe exit, wszelkie wprowadzone przeze mnie zmiany zostana stracone. Aby były one zachowane należy dokonać instalacji pakietów z poziomu dockera. Czyli w przypadku instalacji curl wykonać: docker run -i -t ubuntu apt-get install curlNastępnie sprawdzam container_id poleceniem docker ps -loraz zapisuje zmiany do kontenera docker commit container_id nazwaOczywiście można również komitować zmiany w kontenerze w ten sposób iż pracujemy na dwóch konsolach, gdzie na pierwszej mamy uruchomiony serwer, na drugiej po prostu dockera. Wszelkich zmian dokonujemy na pierwszej konsoli, gdzie pracuje już serwer, natomiast na drugiej komitujemy zmiany kontenera. 8. Dalej już mozolnie pobieram tomee za pomocą wget, rozpakowuje uruchamiam itp. Należy pamietać, że po każdej wykonanej z poziomu dockera zmianie w kontenerze należy wykonać commit, analogicznie jak w punkcie 7. 9. Aby uzyskać dostęp do serwera przez net należy wystartować go poleceniem: docker run -i -t -p 8080:8080 ubuntu_sw /bin/bashgdzie parametr: - i, oznacza tryb interaktywny - p, wskazuje mapowanie portów kontenera na system Informację pod jakim ip dostępny jest kontener na windows można uzyskać poleceniem: boot2docker ip Oto uwagi związane z pracą na dockerze: - przy pracy z jbossas należy pamietać aby włączyć na nim dostęp zdalny (co jest opisane w oddzielnym faqu). Komenda uruchomienia dockera z jbossas może wyglądać tak: docker run -i -t -p 8080:8080 -p 9999:9999 -p 4447:4447 -p 9990:9990 ubuntu_jbossas /bin/bash- pracując z dockerem mamy podłączenia do kontenera zasobów dyskowych windowsa, na którym uruchomiony jest boot2docker. Domyślne program startując widzi nasz katalog domowy, czyli np c:/User/Alien. Załóżmy, że w tym katalogu utworzymy katalog jboss_deployment. Aby był od dostępny w kontenerze pod zasobem /user należy wystartować kontener z komendą: docker run -i -t -p 8080:8080 -v /c/Users/Alien/jboss_deployment:/user ubuntu_jboss_mysqlOdpowiedzialną za podmontowanie zasobu dyskowego windowsa do kontenera jest oczywiście opcja -v. - kiedy wszystko się już popsuje można "sformatować" dockera poleceniem: docker system pruneA jeśli coś przeżyje to jeszcze:): docker system prune -aMożna też uruchomić shell działającego już dockera: exec -it id_kontenera /bin/bash |
<< Powrót << |
powered by sw