首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >docker-compose构建需要很长时间,构建时是否可以启用详细/调试日志?

docker-compose构建需要很长时间,构建时是否可以启用详细/调试日志?
EN

Stack Overflow用户
提问于 2020-08-19 17:09:11
回答 2查看 676关注 0票数 0

它在“建筑胡言乱语”上停留了大约18+分钟,有时更长……

在等待了很长一段时间后,所有的东西都构建起来了,然后它就运行起来了。

docker-compose --verbose build没有给我太多信息。

Docker Engine -社区引擎版本: 19.03.8

docker-compose版本1.25.4,内部版本8d51620a

代码语言:javascript
复制
root@someserver:/opt/containers/sites/somesite.nz# docker-compose --verbose build
compose.config.config.find: Using configuration files: ./docker-compose.yml
docker.utils.config.find_config_file: Trying paths: ['/root/.docker/config.json', '/root/.dockercfg']
docker.utils.config.find_config_file: No config file found
docker.utils.config.find_config_file: Trying paths: ['/root/.docker/config.json', '/root/.dockercfg']
docker.utils.config.find_config_file: No config file found
urllib3.connectionpool._make_request: http://localhost:None "GET /v1.25/version HTTP/1.1" 200 862
compose.cli.command.get_client: docker-compose version 1.25.4, build 8d51620a
docker-py version: 4.1.0
CPython version: 3.7.5
OpenSSL version: OpenSSL 1.1.0l  10 Sep 2019
compose.cli.command.get_client: Docker base_url: http+docker://localhost
compose.cli.command.get_client: Docker version: Platform={'Name': 'Docker Engine - Community'}, Components=[{'Name': 'Engine', 'Version': '19.03.8', 'Details': {'ApiVersion': '1.40', 'Arch': 'amd64', 'BuildTime': '2020-03-11T01:24:19.000000000+00:00', 'Experimental': 'false', 'GitCommit': 'afacb8b7f0', 'GoVersion': 'go1.12.17', 'KernelVersion': '4.15.0-108-generic', 'MinAPIVersion': '1.12', 'Os': 'linux'}}, {'Name': 'containerd', 'Version': '1.2.13', 'Details': {'GitCommit': '7ad184331fa3e55e52b890ea95e65ba581ae3429'}}, {'Name': 'runc', 'Version': '1.0.0-rc10', 'Details': {'GitCommit': 'dc9208a3303feef5b3839f4323d9beb36df0a9dd'}}, {'Name': 'docker-init', 'Version': '0.18.0', 'Details': {'GitCommit': 'fec3683'}}], Version=19.03.8, ApiVersion=1.40, MinAPIVersion=1.12, GitCommit=afacb8b7f0, GoVersion=go1.12.17, Os=linux, Arch=amd64, KernelVersion=4.15.0-108-generic, BuildTime=2020-03-11T01:24:19.000000000+00:00
compose.cli.verbose_proxy.proxy_callable: docker inspect_network <- ('someproject_internal')
urllib3.connectionpool._make_request: http://localhost:None "GET /v1.25/networks/someproject_internal HTTP/1.1" 404 68
compose.cli.verbose_proxy.proxy_callable: docker inspect_network <- ('web')
urllib3.connectionpool._make_request: http://localhost:None "GET /v1.25/networks/web HTTP/1.1" 200 None
compose.cli.verbose_proxy.proxy_callable: docker inspect_network -> {'Attachable': False,
 'ConfigFrom': {'Network': ''},
 'ConfigOnly': False,
 'Containers': {'31db88fbbf7b3cc7da09559e024287424c4c689afdb0e924558583339233fec3': {'EndpointID': '798b82453ee5b309bccd5cb230e440bbbb79fe2b7746e668291cd88ca76b3c2f',
                                                                                     'IPv4Address': '172.19.0.3/16',
                                                                                     'IPv6Address': '',
                                                                                     'MacAddress': '02:42:ac:13:00:03',
                                                                                     'Name': 'someproject_someproject_1'},
                '405639a07d229936eabfd6a766a6ce053ca5647e11f06dec3d15413d5c230b5e': {'EndpointID': '2aec703aeb0a86ce68ffae4a042fc405be9996aa19d5c288701702fc40d4e486',
                                                                                     'IPv4Address': '172.19.0.10/16',
...
compose.project.build: es-someproject uses an image, skipping
compose.service.build: Building someproject
compose.cli.verbose_proxy.proxy_callable: docker build <- (path='/opt/containers/sites/somesite.nz', tag='someproject_someproject', rm=True, forcerm=False, pull=False, nocache=False, dockerfile=None, cache_from=None, labels=None, buildargs={}, network_mode=None, target=None, shmsize=None, extra_hosts=None, container_limits={'memory': None}, gzip=False, isolation=None, platform=None)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-08-19 17:40:52

在Docker构建上下文中创建一个.dockerignore文件(如果未指定,则与Dockerfile/docker-compose.yml位于同一位置)

在里面放入你要从Docker上下文中忽略的目录/文件。

例如,对我来说

html

我的docker-compose稍后的地图作为一卷。

或者,您可以指定要使用的构建上下文,例如,包含需要在Dockerfile中添加/使用的内容的文件夹。您希望映射到运行容器中的代码/文件的任何卷都不应该在同一目录中,或者它们应该在.dockerignore中。

可以将构建上下文配置为docker-compose.yml中的另一个路径

代码语言:javascript
复制
build:
  context: .
  dockerfile: Dockerfile

因此,您可以将docker目录作为上下文,并在其外部放置Dockerfile和docker-compose.yml,然后将src目录和其他内容放在其他位置。

票数 0
EN

Stack Overflow用户

发布于 2020-08-19 17:13:40

这就是为什么上下文太大或太深的原因。尝试创建一个空文件夹,将docker-compose.yml和Dockerfile移到那里,然后

代码语言:javascript
复制
docker-compose build
docker-compose up -d

当你的上下文有很多文件夹,符号链接,和/或太深的时候,问题通常会发生。上下文是您的Dockerfile所在的位置:

代码语言:javascript
复制
version: '3.8'
services:
  your-srv:
    build:
      context: .
      dockerfile: Dockerfile
    image ...
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63483643

复制
相关文章

相似问题

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