Kontynuując serię wpisów o Dockerze chciałbym podzielić się skryptem do tworzenia nowego środowiska pracy i/lub nauki. W dzisiejszym wpisie skrypt, który umożliwia stworzenie maszyny wirtualnej z Ubuntu, Dockerem, SSH oraz Samba zarówno na VirtualBox jak i w Azurze. Automatycznie. Kod nie do produkcyjnego zastosowania, ale do własnej nauki może być przydatny,
Dlaczego i po co?
Moim podstawowym środowiskiem pracy jest laptop z system Windows Home na którym posiadam DockerToolbox co działa oczywiście całkiem dobrze. Oprócz tego posiadam maszynę wirtualną w VirtualBox z Ubuntu i tam również mam zainstalowanego Dockera. Linuksa znam niestety dość słabo i konfiguracja całego środowiska mimo wszystko nastręczyła mi trochę trudności. Zrobiłem zatem notatki i chciałem zapisać wszystkie kroki, które potrzebuję wykonać, aby w przyszłości nie mieć problemów i w szybki sposób mieć możliwość skonfigurować środowisko do pracy. Kiedy to zrobiłem pomyślałem, że fajnie byłoby mieć taki skrypt, który stworzy takie środowisko dla mnie…
Dodatkowo… Do nauki i pracy developerskiej Docker na lokalnej maszynie, czy też maszynie wirtualnej jest dla mnie zupełnie wystarczający. W przypadku uruchamiania skryptów czy też uruchamiania aplikacji już niekoniecznie… Dlatego też moim kolejnym środowiskiem jest serwer plików (NAS) na którym również istnieje możliwość uruchamiania kontenerów. Kontener przygotowany na lokalnej maszynie mogę wówczas uruchomić na serwerze NAS i monitorować z maszyny lokalnej. Niestety ograniczona ilość pamięci RAM, CPU i HDD sprawia, że czasami to nie wystarcza. Biorąc pod uwagę stosunkowo niskie koszty najlepszym rozwiązaniem będzie wówczas wykorzystanie chmury, czyli np. Microsoft Azure. Oczywiście w pierwszej kolejności zapewne powinniśmy skorzystać między innymi z Azure Container Instances czy Azure Kubernetes Services (w przypadku Azure), które w większości przypadków będą najlepszym rozwiązaniem (i które mam nadzieję, że uda mi się trochę bardziej poznać wkrótce… ). Biorąc pod uwagę natomiast prostotę oraz przeznaczenie (nauka, programowanie interaktywne, testowanie, uruchamianie skryptów do zbierania danych, etc) maszyna wirtualna z Dockerem również czasami może się przydać. Przynajmniej dla mnie kilkukrotnie tak było wygodniej… Dlatego skrypt, który tworzy maszynę wirtualną rozszerzyłem również o Azure.
Tworzenie środowiska w Azure
Pierwszy skrypt utworzy Resource Group w Azure, a następnie utworzy i skonfiguruje maszynę wirtualną. Skonfigurowany zostanie publiczny adres IP oraz podstawowe porty oraz Docker i Samba.
Tworzenie środowiska w VirtualBox
W przypadku VirtualBox skrypt utworzy maszynę zupełnie od początku wliczając w to instalowanie Ubuntu. Po instalacji systemu skrypt wykona skrypt, który skonfiguruje środowisko, w tym Dockera oraz Samba.
Podsumowanie
Powyższy skrypt z pewnością nie nadaje się do rozwiązań produkcyjnych, natomiast do własnych zastosowań oraz nauki mi przydał się już kilkukrotnie. Była to też okazja, aby nauczyć się czegoś nowego, więc postanowiłem się podzielić i być może przyda się komuś jeszcze.
Cały kod dostępny jest na github: https://github.com/sdrzymala/create_docker_machine_playground
- Docker dla amatora danych – Tworzenie środowiska (VM) w Azure i VirtualBox (skrypt) - April 20, 2020
- Power-up your BI project with PowerApps – materiały - February 5, 2020
- Docker dla “amatora” danych – kod źródłowy do prezentacji - November 18, 2019
Last comments