一尘不染

Docker-超过最大深度

docker

所以我用这个例子:

https://github.com/mcmoe/mssqldocker

为了创建一个SQL Server映像并将其加载数据。我有几个运行容器时运行的sql脚本。

但是,在构建映像时,我开始出现此错误:

Step 7/9 : ENTRYPOINT ./entrypoint.sh
 ---> Running in c8c654f6a630
max depth exceeded

我不确定如何解决此问题,我重新启动了docker甚至更新了它。我读了约125层的书吗?谁能解释这个的原因和可能的解决方法?

我发现此命令可以运行:

docker history microsoft/mssql-server-linux:latest | wc -l
 312

我的docker-compose yml:

version: "3"
services:
  mssql:
      build: .
      image: 'microsoft/mssql-server-linux'
      ports:
          - '1433:1433'
      environment:
          - ACCEPT_EULA=Y
          - SA_PASSWORD=Abcgfgh123!
      volumes:
          - db_volume:/var/lib/mssql/data
volumes:
  db_volume:

阅读 1285

收藏
2020-06-17

共1个答案

一尘不染

image一个参数servicedocker-compose.yml定义具有取决于是否存在双重含义build参数。

  • 如果没有build节,image则将其拉出并运行。

  • 如果您有一个build节,image则将您的构建映像标记为该名称,然后运行。

通过命名已构建的映像microsoft/mssql-server-linux,这与FROM microsoft/mssql-server- linux您每次将构建都在其自身上分层的图像相同。

原始构建始于“正式”版本,microsoft/mssql-server-linux但随后的每个构建都将从microsoft/mssql-server- linux附加的本地映像开始,直到最终达到存储驱动程序的最大层数。

对构建的所有图像使用自己的名称空间:

version: "3"
services:
  mssql:
      build: .
      image: 'user3437721/mssql-server-linux'
2020-06-17