Witam ludzi, więc dzisiaj porozmawiajmy o tym, jak możemy stworzyć własny niestandardowy obraz SQL Server na oficjalnym obrazie.
Może to być naprawdę przydatne w wielu scenariuszach, na przykład gdy do naszego zespołu dołącza nowy członek zespołu. Zamiast dawać im nową instancję SQL Server, możemy mieć obraz początkowej konfiguracji, a oni mogą go po prostu pobrać i być gotowi do pracy nad nim
Warunek wstępny
- Pulpit Docker uruchomiony i uruchomiony na komputerze. Można pobrać stąd https://docs.docker.com/v17.09/docker-for-windows/install/
- Konto w Docker Hub, abyśmy mogli opublikować, a następnie pobrać nasz niestandardowy obraz dockera SQL Server
- Uruchamianie wystąpienia nowego kontenera SQL Server z oficjalnego obrazu dostępnego w centrum docker mcr.microsoft.com/mssql/server:2017-latest.
docker run -e "ACCEPT_EULA=Y" "SA_PASSWORD=MYPASSWORD123" -p 1433:1433 --name MyContainerName -d mcr.microsoft.com/mssql/server:2017-latest
Konfigurowanie serwera SQL 🔥
- Gdy serwer już działa, zaloguj się do SQL Server za pomocą SQL Server Management studio z adresem IP hosta
- Nazwa użytkownika to SU a hasło to MYPASSWORD123 jak użyto w powyższym poleceniu do uruchomienia kontenera
- Następnie możemy skonfigurować nasz serwer, taki jak baza danych, tabele ręcznie lub przy użyciu dowolnego pliku kopii zapasowej itp.
- Teraz mamy już naszą bazę danych i chcemy utworzyć obraz tej konfiguracji, aby gdy następnym razem ktoś pobierze obraz, nie będzie musiał już ręcznie importować bazy danych
Utwórz niestandardowy obraz dockera
- Najpierw zatrzymaj działający kontener za pomocą polecenia
docker stop MyContainerName
- Następnie przenosimy nasze zmiany do kontenera, abyśmy mogli zbudować jego obraz
docker commit MyContainerName
- Następnie skopiuj obraz naszego konkretnego kontenera z listy za pomocą polecenia
Docker images
- Nowo utworzony obraz nie ma repozytorium i tagu. Wykonaj następujące polecenie, aby oznaczyć obrazek
docker tag <imageID> <docker-hub-username>/<docker-hub-repository-name>:<tag-name>
Na przykład:tag docker a82e969d1395 rajatsrivas/ myownsql:sqlCustomImage
- Teraz nasz obraz jest zbudowany i możemy utworzyć kontener za pomocą obrazu
docker run -p 1433:1433 --name sqlCustomImage -d rajatsrivas/ myownsql
- Jeśli jesteś zalogowany do docker hub na lokalnym pulpicie Docker, ten krok zostanie pominięty, w przeciwnym razie zaloguj się za pomocą wiersza poleceń
docker login -username=rajatsrivas
- Wprowadź hasło do następnej linii i na koniec prześlij obraz do repozytorium centrum docker
docker push rajatsrivas/myownsql
- Przejdź do https://hub.docker.com/
- Powinniśmy mieć obraz, który przesłaliśmy do centrum dokera
Pociągnij i uruchom nasz niestandardowy obraz 🏃♂️
- Przeciągnij obraz na dowolny komputer za pomocą polecenia
docker pull rajatsrivas/myownsql:latest
- Uruchom kontener i uzyskaj dostęp do serwera w SSMS. Serwer powinien mieć bazę danych, która została zaimportowana i skonfigurowana we wcześniejszych krokach
docker run -p 1433:1433 --name <container-name> -d rajatsrivas/myownsql:latest
Wniosek
Więc to jest, wdrożyliśmy nasz niestandardowy obraz na oficjalnym dostępnym obrazie dokowanym.
Jest to dość mały krok we wdrażaniu, ale można wykorzystać podobne implementacje do bardzo szybkiego i wydajnego konfigurowania środowisk piaskownicy.
Mam nadzieję, że to było przydatne. Ucz się, buduj