Docker Install SQL Server
Docker pull
first step pull image: https://hub.docker.com/r/microsoft/mssql-server
bash
docker pull mcr.microsoft.com/mssql/server
Docker run
bash
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=yourStrong(!)Password" -e "MSSQL_PID=Evaluation" -p 1433:1433 --name mssql2022 -d mcr.microsoft.com/mssql/server
Environment Variables
You can use environment variables to configure SQL Server on Linux Containers.
ACCEPT_EULA confirms your acceptance of the End-User Licensing Agreement.
MSSQL_SA_PASSWORD is the database system administrator (userid = 'sa') password used to connect to SQL Server once the container is running. Important note: This password needs to include at least 8 characters of at least three of these four categories: uppercase letters, lowercase letters, numbers and non-alphanumeric symbols.
MSSQL_PID is the Product ID (PID) or Edition that the container will run with. Acceptable values:
- Developer : This will run the container using the Developer Edition (this is the default if no -MSSQL_PID environment variable is supplied)
- Express : This will run the container using the Express Edition
- Standard : This will run the container using the Standard Edition
- Enterprise : This will run the container using the Enterprise Edition
- EnterpriseCore : This will run the container using the Enterprise Edition Core : This will run the container with the edition that is associated with the PID
Docker exec
bash
docker exec -it mssql2022 "bash"
use sqlcmd connect sql server
bash
mssql@ecf27c316472:/$ /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P yourPassword
1> select @@version
2> go
Microsoft SQL Server 2022 (RTM-CU13) (KB5036432) - 16.0.4125.3 (X64)
May 1 2024 15:05:56
Copyright (C) 2022 Microsoft Corporation
Developer Edition (64-bit) on Linux (Ubuntu 22.04.4 LTS) <X64>
create new database
sql
CREATE DATABASE TestDB;
SELECT Name from sys.databases;
GO
create new table
sql
USE TestDB;
CREATE TABLE Inventory (id INT, name NVARCHAR(50), quantity INT);
INSERT INTO Inventory VALUES (1, 'banana', 150);
INSERT INTO Inventory VALUES (2, 'orange', 154);
GO
query data
sql
SELECT * FROM Inventory WHERE quantity > 152;
GO