use*_*721 8 docker docker-compose
所以我使用这个例子:
https://github.com/mcmoe/mssqldocker
为了创建SQL Server映像并使用数据加载它.我有几个sql脚本,我运行容器时运行.
但是,我在构建映像时开始出现此错误:
Step 7/9 : ENTRYPOINT ./entrypoint.sh
---> Running in c8c654f6a630
max depth exceeded
Run Code Online (Sandbox Code Playgroud)
我不知道如何解决这个问题,我重新启动了docker甚至更新了它.我读了一些关于125层的东西?任何人都可以解释这个原因和潜在的解决方案吗?
我发现这个命令运行:
docker history microsoft/mssql-server-linux:latest | wc -l
312
Run Code Online (Sandbox Code Playgroud)
我的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:
Run Code Online (Sandbox Code Playgroud)
Bru*_*uno 17
使用以下命令删除与您的 dockerfile 相关的所有本地 docker 图像,然后重试。
$ docker rmi -f $(docker images -a -q)
Run Code Online (Sandbox Code Playgroud)
Mat*_*att 11
定义中a 的image参数具有双重含义,具体取决于参数的存在.servicedocker-compose.ymlbuild
如果没有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'
Run Code Online (Sandbox Code Playgroud)
我已经在接受的答案中使用了自定义图像名称,但我仍然遇到了这个问题。
为了克服这个错误,我发现我需要使用以下命令删除所有未使用的(与任何容器无关)和悬空的(制作新图像后的旧图像)docker 图像:
docker image prune -a
Run Code Online (Sandbox Code Playgroud)
见https://linuxhandbook.com/remove-docker-images/
| 归档时间: |
|
| 查看次数: |
5463 次 |
| 最近记录: |