gpt4 book ai didi

sql-server - Docker 连接 SQL Server 容器非零代码 : 1

转载 作者:行者123 更新时间:2023-12-04 11:35:44 27 4
gpt4 key购买 nike

我正在尝试从 docker-compose.yml 创建一个 SQL Server 容器但是当我运行它时,它直接停止并出现一些错误。注意:它在带有 docker Preview 的 Apple M1 芯片上运行
docker-compose.yml:

version: "3.7"
services:
sql-server-db:
container_name: sql-server-db
image: mcr.microsoft.com/mssql/server:2019-latest
ports:
- "1433:1433"
environment:
SA_PASSWORD: "ApplePassDockerConnect"
ACCEPT_EULA: "Y"
我得到的错误:

sql-server-db | /opt/mssql/bin/sqlservr: Invalid mapping of address 0x40092b8000 in reserved address space below 0x400000000000. Possible causes:

sql-server-db | 1) the process (itself, or via a wrapper) starts-up its own running environment sets the stack size limit to unlimited via syscall setrlimit(2);

sql-server-db | 2) the process (itself, or via a wrapper) adjusts its own execution domain and flag the system its legacy personality via syscall personality(2);

sql-server-db | 3) sysadmin deliberately sets the system to run on legacy VA layout mode by adjusting a sysctl knob vm.legacy_va_layout.

sql-server-db |

sql-server-db exited with code 1

最佳答案

你真的不能用 mcr.microsoft.com/mssql/server:2019-latest M1 上的容器,因为 MSSQL DB 不支持 ARM 架构。我发现的唯一方法是使用支持 ARM 并可在 M1 上运行的 Azure SQL 容器。
这是我的 docker-compose.yml配置示例:

version: "3.9"

services:
# Database instance
mssql:
image: mcr.microsoft.com/azure-sql-edge:latest
volumes:
- events_mssql:/var/opt/mssql
ports:
- 1433:1433
environment:
- ACCEPT_EULA=1
- MSSQL_SA_PASSWORD=Passw@rd

volumes:
events_mssql:
您将能够使用用户名连接到此数据库: sa , 密码: Passw@rd和数据库: master .如果您想要其他数据库名称 - 您可以创建一个新名称 using SQL : CREATE DATABASE TestDB该数据库与 MSSQL DB 具有相同的 API,因此它适用于 pyodbc (M1 不支持)和 pymssql图书馆。
如果您在 M1 机器上本地使用它 - 考虑使用 pymssql用于连接到 Azure SQL DB 的库。这是我对 pyodbc 问题的回答 https://stackoverflow.com/a/66919686/11515610

关于sql-server - Docker 连接 SQL Server 容器非零代码 : 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65398641/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com