首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Docker连接Server容器非零代码:1

Docker连接Server容器非零代码:1
EN

Stack Overflow用户
提问于 2020-12-21 19:12:47
回答 4查看 8.9K关注 0票数 20

我试图从一个docker-compose.yml创建一个Server容器,但是当我运行它时,它会直接停止,但会出现一些错误。注意:它是在苹果的M1芯片上运行的,带有码头预览

docker-compose.yml:

代码语言:javascript
复制
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:地址0x40092b8000在0x4000000000以下的保留地址空间中的无效映射。可能的原因: server\ 1)进程(本身,或通过包装器)启动自己的运行环境,通过syscall setr极限将堆栈大小限制设置为无限(2); server\ 2)进程(本身,或通过包装器)调整自己的执行域,并通过syscall个性(2)标记系统遗留的个性(2); 通过调整sysctl旋钮vm.legacy_va_layout,系统管理员故意将系统设置为在遗留VA布局模式下运行。 sql-server-db \x sql-server-db与代码1一起退出

EN

回答 4

Stack Overflow用户

发布于 2021-04-02 13:14:11

您不能在mcr.microsoft.com/mssql/server:2019-latest上真正使用M1容器,因为MSSQL不支持ARM体系结构。我发现的唯一方法是使用Azure容器,它支持ARM,可以在M1上运行。

这里是我的docker-compose.yml配置示例:

代码语言:javascript
复制
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连接到这个DB。如果需要其他db名称,可以创建一个新的使用SQLCREATE DATABASE TestDB

该数据库具有与MSSQL相同的API,因此它可以使用pyodbc (M1不支持)和pymssql库。

如果您在您的M1机器上本地使用它--考虑使用pymssql库连接到Azure。这是我对pyodbc https://stackoverflow.com/a/66919686/11515610的问题的回答

票数 16
EN

Stack Overflow用户

发布于 2021-08-08 13:10:48

M1还没有包含,但我们可以使用M1

我也尝试过用于苹果M1芯片的MSSQL映像,但也有相同的错误。

使用azure-sql-edge,我可以在苹果BigSur操作系统上使用M1芯片。

您可以阅读本文https://medium.com/geekculture/docker-express-running-a-local-sql-server-on-your-m1-mac-8bbc22c49dc9

如果它对你有帮助的话,别忘了标记它。

票数 4
EN

Stack Overflow用户

发布于 2020-12-21 21:58:34

So...this可能与您的特定问题无关。我有一种感觉,它不会为你解决它,因为你的问题听起来低得多(如你所怀疑的),但值得一试。

我试着复制-粘贴你的确切的对接-撰写文件,并运行在我的机器(windows桌面),我也得到exited with code 1

唯一能解决这个问题的方法就是使用一个更复杂的密码。

我连续测试了好几次.我测试了你的密码,结果失败了。我测试了一个复杂的密码,效果很好。

所以我建议使用更复杂的密码。我测试的密码是6Xy3LkV7!9lo2^h

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65398641

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档