Cách thiết lập cơ sở dữ liệu Microsoft SQL Server trong Docker trên Linux

Microsoft SQL Server là một hệ quản trị cơ sở dữ liệu (DBMS) mạnh mẽ và được sử dụng rộng rãi. Theo truyền thống, cơ sở dữ liệu SQL Server được thiết lập trên các máy chủ hoặc máy ảo chuyên dụng, nhưng Docker đã thay đổi tất cả những điều đó.

Hãy xem cách bạn có thể thiết lập phiên bản SQL Server trên Linux container với Docker.

Ưu điểm của việc chạy SQL Server trong Docker

Nếu bạn là một kỹ sư phần mềm đang cân nhắc xem liệu có nên chạy SQL Server trong Docker không, thì đây là một số lợi thế mà Docker cung cấp:

  • Tiết kiệm chi phí và gọn nhẹ: Bạn không cần thiết lập một máy chủ chuyên dụng hoặc máy ảo
  • Docker tương đối dễ thiết lập và cấu hình
  • Bạn có thể dễ dàng tự động hóa quá trình triển khai và thiết lập bằng các script
  • Docker cho phép bạn dễ dàng tạo môi trường thống nhất và bạn có thể sử dụng cùng một image docker trên bất kỳ hệ điều hành nào bao gồm macOS, Windows hoặc Linux

Docker là một công cụ mạnh mẽ và nó có thể thay đổi đáng kể cách bạn triển khai hoặc cung cấp hệ thống phần mềm của mình.

Cách thiết lập cơ sở dữ liệu Microsoft SQL Server trong Docker trên Linux

Bước 1: Tải image SQL Server Docker

Bạn sẽ cần Docker phiên bản 1.8 trở lên để có thể thiết lập SQL Server trên Docker. Nếu bạn đang sử dụng Linux Ubuntu, đây là cách cài đặt Docker. Kiểm tra trang web chính thức về cách cài đặt Docker trên các bản phân phối Linux khác.

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

Kéo image SQL Server Docker từ kho lưu trữ Microsoft Docker chính thức bằng cách sử dụng lệnh bên dưới. Docker trước tiên sẽ tìm kiếm image trên PC của bạn và nếu không tìm thấy image cục bộ, nó sẽ tìm kiếm image trên các kho lưu trữ từ xa thông qua Internet.

sudo docker pull mcr.microsoft.com/mssql/server:2019-latest

SQL Server 2019 là phiên bản SQL Server được hỗ trợ mới nhất trên Docker tại thời điểm bài viết.

Lưu ý: Bạn có thể loại bỏ sudo khỏi lệnh trên nếu đã cấu hình Docker của mình để chạy với người dùng không phải root.

Bước 2: Chạy image Docker

Sau khi tải xong image docker, bạn có thể liệt kê hoặc xem tất cả image Docker trên PC của mình bằng cách chạy lệnh sau:

sudo docker images

Đầu ra:

Lệnh docker để liệt kê tất cả image docker trên PC
Lệnh docker để liệt kê tất cả image docker trên PC

Nếu image SQL Server của bạn được liệt kê, thì bạn đã sẵn sàng để chạy nó. Nhưng trước khi thực hiện, đây là một số tham số lệnh Docker mà bạn nên biết.

Mô tả thông số lệnh Docker

  • -e "ACCEPT_EULA=Y": Được sử dụng để chấp nhận các điều khoản của thỏa thuận cấp phép người dùng cuối
  • -e "SA_PASSWORD=Adminxyz22#": Được sử dụng để đặt mật khẩu SA của image Docker. Trong trường hợp này, mật khẩu được đặt thành Adminxyz22#. Đảm bảo rằng bạn sử dụng mật khẩu mạnh dài ít nhất 8 ký tự.
  • -p 1433:1433: Theo mặc định, SQL Server chạy trên cổng 1433. Tham số này nói một cách đơn giản là sử dụng cổng 1433 trên máy chủ để kết nối với cổng 1433 trên image Docker.
  • --name: Sử dụng tùy chọn này để chỉ định tên cho image docker, nếu không, Docker sẽ tạo một tên ngẫu nhiên cho bạn.
  • --hostname: Sử dụng tùy chọn này để gán tên máy chủ cho SQL Server của bạn. Docker sẽ tạo một tên máy chủ ngẫu nhiên nếu bạn không chỉ định một tên.

Điều quan trọng là bạn phải gán một tên có ý nghĩa và tên máy chủ cho image Docker của mình vì đây là những gì bạn sẽ sử dụng trong các chuỗi kết nối của mình để kết nối với cơ sở dữ liệu của mình.

sudo docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=Adminxyz22#" -p 1433:1433 --name sql1 --hostname sql1 -d mcr.microsoft.com/mssql/server:2019-latest

Bước 3: Kết nối với SQL Server từ Docker Container

Bạn có thể kết nối với phiên bản SQL Server trên Docker bằng các SQL Server client như dòng lệnh, Microsoft SQL Server Management Studio, Azure Data Studio, v.v… Azure Data Studio nhẹ và khả dụng trên macOS, Windows và Linux. Đây là cách cài đặt Azure Data Studio trên Ubuntu.

Hãy sử dụng terminal Ubuntu để kết nối với SQL Server đang chạy trên Docker. Đầu tiên, hãy chạy lệnh sau để truy cập vào terminal của docker container:

sudo docker exec -it sql1 "bash"

Khi bạn đã truy cập vào terminal tương tác trên image Docker, hãy chạy lệnh sau để kết nối với SQL Server:

/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "Adminxyz22#"

Lưu ý: Tên người dùng mặc định cho image SQL Server trên Docker là SA. Ngoài ra, hãy nhớ sử dụng đúng mật khẩu mà bạn đã gán cho phiên bản SQL Server của mình.

Sau khi kết nối, bạn có thể liệt kê các cơ sở dữ liệu có sẵn bằng lệnh:

SELECT Name FROM sys.Databases

Sau đó, nhập GO trong lời nhắc tiếp theo và nhấn Enter để thực hiện truy vấn SQL:

Truy vấn image SQL Server Docker
Truy vấn image SQL Server Docker

Bài viết đã xem xét cách chạy SQL Server 2019 bên trong Linux container trên Docker. Docker được nhiều kỹ sư phần mềm sử dụng rộng rãi để triển khai các ứng dụng và thiết lập những môi trường phức tạp một cách dễ dàng.

Thứ Hai, 09/05/2022 10:15
51 👨 1.104
0 Bình luận
Sắp xếp theo