Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Tworzenie niestandardowego obrazu dockera SQL Server na oficjalnym obrazie

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Konwertuj „smalldatetime” na „datetime2” w SQL Server (przykłady T-SQL)

  2. Jak używać aliasu w klauzuli where?

  3. Serwer SQL wybiera różne wiersze, używając tylko najnowszych wartości

  4. Chcę użyć instrukcji CASE do aktualizacji niektórych rekordów w serwerze sql 2005

  5. Poznawanie obciążenia SQL Server