【问题标题】:Docker exiting immediatelyDocker 立即退出
【发布时间】:2019-04-16 20:48:55
【问题描述】:

我正在运行 docker

Windows 10 主页

机器。所以它是旧版本的 docker 而不是 hyper v 版本。

我已经设置了一个 sql server docker 容器,但是当我运行它时它退出并出现错误

退出 (1)

当我查看日志时它说

sqlservr:这个程序需要一台至少有 2000 兆字节的机器 的记忆。 /opt/mssql/bin/sqlservr:这个程序需要一台机器 至少有 2000 MB 的内存。

但是,我的机器上有 8Gb 的内存,并且在运行 docker 时我至少有 3.5Gb 的可用内存。我尝试使用 --memory 标志为容器分配超过 2Gb 的空间(因为文档声明它需要 2Gb 用于 sql server 映像)但它仍然退出......

有谁知道潜在的问题是什么?

【问题讨论】:

  • 查看这个线程,检查容器内的内存,看看你首先得到了什么。 *.com/questions/43460770/…
  • 容器一启动就退出,如何查看容器内的内存?
  • 可以增加docker进程的内存吗?右键单击泊坞窗图标 - 设置 - 高级并增加内存限制 ti 大于 2gb ..
  • 我没有泊坞窗图标...
  • 我遇到了类似的问题。我的问题是 Docker 容器在容器的工作停止时立即停止。可以通过 /bin/bash 启动它来保持它的运行

标签: docker


【解决方案1】:

我遇到了同样的问题,我通过使用这个 docker 镜像解决了它 https://hub.docker.com/r/justin2004/mssql_server_tiny

这是我的 docker-compose 文件:

services:
  db:
    image: justin2004/mssql_server_tiny
    environment:
      - ACCEPT_EULA=Y
      - SA_PASSWORD=@P1ssword@
    ports:
      - '1433:1433'
    expose:
      - 1433

【讨论】:

    【解决方案2】:

    在您的用户文件夹中创建 .wslconfig 文件

    [wsl2]
    memory=4GB   # Limits VM memory in WSL 2 up to GB
    processors=2 # Makes the WSL 2 VM use two virtual processors
    

    【讨论】: