Podstawy Docker

wpis w: Uncategorized | 0

Opis:

Docker – otwarte oprogramowanie służące do realizacji wirtualizacji na poziomie systemu operacyjnego (tzw. „konteneryzacji”){źródło: https://pl.wikipedia.org/wiki/Docker_(oprogramowanie)}

Aplikacja w swoim działaniu przypomina opisywanego wcześniej VirtualBox ale jest to rozwiązanie podobne tylko z pozoru. Zasada działania jest tak naprawdę zupełnie inna. VirtualBox emuluje samo urządzenie na którym instalujemy od zera system operacyjny, natomiast Docker emuluje sam system operacyjny. Oczywiście ma to w takim wypadku ograniczenia – najważniejsze to kontener z Linux możemy postawić tylko gdy system goszczący to też Linux. Nie ma możliwości postawienia kontenera z Windowsem na Linux i odwrotnie. Metoda ta natomiast ma więcej plusów niż minusów, ponieważ zyskujemy „lekkość”, nie ma potrzeby tu emulowania całej maszyny, wgrywania ponownie tych samych bibliotek – Docker korzysta z tego co ma już w systemie goszczącym. Kontenery można dowolnie konfigurować, wybierając najlepszą dystrybucję dla danego projektu, łączyć ze sobą (wydzielamy sieć widoczną dla wybranych kontenerów), udostępniać i pobierać całe gotowe obrazy projektów. Najlepszym przykładem jest tu według mnie „instalacja” serwera www.

Dodatkowo zyskujemy częściowo także na bezpieczeństwie.

Instalacja:

https://docs.docker.com/engine/install/debian/

Instalacja jest opisana krok po kroku, więc nie ma większego sensu to powtarzać.

 

Czynności po instalacyjne:

https://docs.docker.com/engine/install/linux-postinstall/

Warto wykonać, aby móc uruchamiać kontenery bez „sudo”. Szczególnie przydatne w przypadku późniejszej instalacji najnowszego docker compose v2.

 

Przydatne polecenia:

Ctrl+D

//wyjście z basha w instancji dockera

 

docker ps -a

//wyświetlanie instancji dockera, wszystkich

 

docker run -p 8080:80 nginx

// przekieruje port 8080 z zewnątrz na port 80 w instancji dockera

 

docker run –name moja_nazwa_instancji -p 80:80 nginx

//name nazwa

 

docker start moja_nazwa

// uruchomi w tle kontener

 

docker rm mój_kontener

// usuwa kontener jeśli ten kontener jest wyłączony

 

docker stop mój_kontener

// zamyka/zatrzymuje kontener o wskazanej nazwie w poprawny sposób

 

docker run -it –name mojkontener debian bash

// uruchomi debiana z nazwą wskazaną w trybie interaktywny bo it jako parametr, uruchomi w nim bash bo polecenie takie na końcu jest

 

docker run -d -it –name mojkontener debian bash

// d aby w tle

 

docker exec -it mojkontener bash

// wejście do kontenera w trybie interaktywnym który to jest w tle

 

docker run –name some-mysql -v /my/own/datadir:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag

//-v daje spięcie/bind katalogu z naszego dysku /my/own/datadir z katalogiem w kontenerze

 

docker images

//obrazy dockera

 

docker rmi nazwaobrazu

// usuwanie obrazu po nazwie lub id

 

docker commit nazwa_obrazu nazwa_nowegoobrazu

// tworzenie obrazu z działającego obrazu już w systemie