Bài viết này sẽ hướng dẫn cài đặt nhanh SQL Server (thực hiện trên máy tính Windows) trên Docker (Linux Container 1) với Docker Compose. Bạn thực hiện thao các bước sau đây:
Bước 1: Tạo một thư mục, trong thư mục đó tạo một tập tin docker-compose.yml với nội dung như bên dưới.
version: "3.1"
services:
mssql-dev:
container_name: my-sql-server #Tên container
image: mcr.microsoft.com/mssql/server:2019-latest
restart: no
environment:
ACCEPT_EULA: "Y"
MSSQL_SA_PASSWORD: "My$0SqlServer$1Password_" #Mật khẩu cho tài khoản SA
MSSQL_SA_PASSWORD_ENFORCE: 0
MSSQL_SA_PASSWORD_POLICY: "OFF"
MSSQL_PID: "Express"
MSSQL_TCP_PORT: 1433
MSSQL_DATA_DIR: /var/opt/mssql/data
ports:
- 1433:1433
volumes:
- ./mssql-data:/var/opt/mssql/data
- ./mssql-log:/var/opt/mssql/log
- ./mssql-secrets:/var/opt/mssql/secrets
Lưu ý: Mình đã sử dụng image có tên là mcr.microsoft.com/mssql/server:2019-latest để cài SQL Server phiên bản 2019. Bạn có thể đổi sang một phiên bản khác tùy theo nhu cầu sử dụng của bản thân.
- Phiên bản 2017: mcr.microsoft.com/mssql/server:2017-latest
- Phiên bản 2022: mcr.microsoft.com/mssql/server:2022-latest
Bước 2: Lưu, mở command hoặc terminal tại nơi có chứa docker-compose.yml, gõ lệnh: docker-compose -up d
Những cách để kết nối với SQL Server trong Docker
Kết nối với dòng lệnh (sử dụng công cụ Command Line hoặc Terminal của Windows)
Gõ lệnh docker exec -it my-sql-server "bash"
để khởi động shell bash tương tác bên trong container đang chạy của bạn. “my-sql-server” chính là tên của container đang chạy trong Docker.
Tiếp theo, gõ lệnh /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P "My$0SqlServer$1Password_"
để đăng nhập vào tài khoản SA.
Sau khi đăng nhập thành công, bạn sẽ nhận được dấu nhắc lệnh sqlcmd: 1>. Lúc này bạn có thể thực hiện các truy vấn SQL Server.
Sử dụng các phần mềm như SSMS, dbForge Studio for SQL Server, v.v.
Đối với những công cụ này thì rất đơn giản. Bạn chỉ cần tạo 1 kết nối mới, điền các thông tin như hostname, user, password và kết nối tới SqlServer là được.
Những chia sẻ của mình đến đây là kết thúc. Cảm ơn bạn đã đọc bài viết này.
Chú thích & nguồn tham khảo
- Linux Containers (Docker Desktop): Đây là chế độ cho phép Docker chạy các container Linux. Các container này sử dụng một máy ảo chạy trên Windows để cung cấp kernel Linux, cho phép chạy các ứng dụng Linux. ↩︎