docker-compose.yml
· 686 B · YAML
Исходник
services:
mssql-server:
image: mcr.microsoft.com/mssql/server:2019-latest
container_name: mssql-server
environment:
ACCEPT_EULA: "Y"
SA_PASSWORD: "StrongP@ssw0rd!"
MSSQL_PID: "Express"
ports:
- "1433:1433"
volumes:
- mssql_data:/var/opt/mssql
networks:
- mssql-network
restart: unless-stopped
sqlcmd:
image: mcr.microsoft.com/mssql-tools
container_name: sqlcmd
depends_on:
- mssql-server
networks:
- mssql-network
entrypoint: /opt/mssql-tools/bin/sqlcmd
command: -S mssql-server -U sa -P 'StrongP@ssw0rd!' -Q 'SELECT @@VERSION'
volumes:
mssql_data:
networks:
mssql-network:
| 1 | services: |
| 2 | mssql-server: |
| 3 | image: mcr.microsoft.com/mssql/server:2019-latest |
| 4 | container_name: mssql-server |
| 5 | environment: |
| 6 | ACCEPT_EULA: "Y" |
| 7 | SA_PASSWORD: "StrongP@ssw0rd!" |
| 8 | MSSQL_PID: "Express" |
| 9 | ports: |
| 10 | - "1433:1433" |
| 11 | volumes: |
| 12 | - mssql_data:/var/opt/mssql |
| 13 | networks: |
| 14 | - mssql-network |
| 15 | restart: unless-stopped |
| 16 | |
| 17 | sqlcmd: |
| 18 | image: mcr.microsoft.com/mssql-tools |
| 19 | container_name: sqlcmd |
| 20 | depends_on: |
| 21 | - mssql-server |
| 22 | networks: |
| 23 | - mssql-network |
| 24 | entrypoint: /opt/mssql-tools/bin/sqlcmd |
| 25 | command: -S mssql-server -U sa -P 'StrongP@ssw0rd!' -Q 'SELECT @@VERSION' |
| 26 | |
| 27 | volumes: |
| 28 | mssql_data: |
| 29 | |
| 30 | networks: |
| 31 | mssql-network: |
| 32 | |
| 33 |
docker_compose_run.sh
· 1.3 KiB · Bash
Исходник
#!/bin/bash
# 使用 docker-compose 啟動所有服務,並在任一容器退出時中止
docker-compose up --abort-on-container-exit
# 啟動 mssql-server 服務
docker-compose up mssql-server
# 在後台啟動 mssql-server 服務
docker-compose up -d mssql-server
# 執行 sqlcmd 工具來連接到 mssql-server
docker-compose run sqlcmd
# 使用 sqlcmd 執行查詢,獲取 SQL Server 版本資訊
docker-compose run sqlcmd -S mssql-server -U sa -P StrongP@ssw0rd! -Q "SELECT @@VERSION"
# 使用 sqlcmd 工具連接到 mssql-server,添加一個鏈接伺服器
docker-compose run sqlcmd -S mssql-server -U sa -P StrongP@ssw0rd! -Q "
EXEC sp_addlinkedserver
@server='MyLinkedServer',
@srvproduct='',
@provider='SQLNCLI',
@datasrc='192.168.1.100',
@catalog='TargetDB';
EXEC sp_addlinkedsrvlogin
@rmtsrvname='MyLinkedServer',
@useself='false',
@rmtuser='remote_user',
@rmtpassword='remote_password';
"
# 使用 sqlcmd 工具連接到 mssql-server,查詢所有已鏈接的伺服器
docker-compose run sqlcmd -S mssql-server -U sa -P StrongP@ssw0rd! -Q "EXEC sp_linkedservers"
# 使用 sqlcmd 工具連接到 mssql-server,查詢特定鏈接伺服器的詳細資訊
docker-compose run sqlcmd -S mssql-server -U sa -P StrongP@ssw0rd! -Q "
SELECT * FROM sys.servers WHERE name = 'MyLinkedServer';
"
| 1 | #!/bin/bash |
| 2 | |
| 3 | # 使用 docker-compose 啟動所有服務,並在任一容器退出時中止 |
| 4 | docker-compose up --abort-on-container-exit |
| 5 | |
| 6 | # 啟動 mssql-server 服務 |
| 7 | docker-compose up mssql-server |
| 8 | |
| 9 | # 在後台啟動 mssql-server 服務 |
| 10 | docker-compose up -d mssql-server |
| 11 | |
| 12 | # 執行 sqlcmd 工具來連接到 mssql-server |
| 13 | docker-compose run sqlcmd |
| 14 | |
| 15 | # 使用 sqlcmd 執行查詢,獲取 SQL Server 版本資訊 |
| 16 | docker-compose run sqlcmd -S mssql-server -U sa -P StrongP@ssw0rd! -Q "SELECT @@VERSION" |
| 17 | |
| 18 | # 使用 sqlcmd 工具連接到 mssql-server,添加一個鏈接伺服器 |
| 19 | docker-compose run sqlcmd -S mssql-server -U sa -P StrongP@ssw0rd! -Q " |
| 20 | EXEC sp_addlinkedserver |
| 21 | @server='MyLinkedServer', |
| 22 | @srvproduct='', |
| 23 | @provider='SQLNCLI', |
| 24 | @datasrc='192.168.1.100', |
| 25 | @catalog='TargetDB'; |
| 26 | |
| 27 | EXEC sp_addlinkedsrvlogin |
| 28 | @rmtsrvname='MyLinkedServer', |
| 29 | @useself='false', |
| 30 | @rmtuser='remote_user', |
| 31 | @rmtpassword='remote_password'; |
| 32 | " |
| 33 | |
| 34 | # 使用 sqlcmd 工具連接到 mssql-server,查詢所有已鏈接的伺服器 |
| 35 | docker-compose run sqlcmd -S mssql-server -U sa -P StrongP@ssw0rd! -Q "EXEC sp_linkedservers" |
| 36 | |
| 37 | # 使用 sqlcmd 工具連接到 mssql-server,查詢特定鏈接伺服器的詳細資訊 |
| 38 | docker-compose run sqlcmd -S mssql-server -U sa -P StrongP@ssw0rd! -Q " |
| 39 | SELECT * FROM sys.servers WHERE name = 'MyLinkedServer'; |
| 40 | " |
| 41 |