Docker在运行Docker-Compose时以代码0退出



以下是我的文件。

dockerfile

    # Python support can be specified down to the minor or micro version
    # (e.g., 3.6 or 3.6.3).
    # OS Support also exists for jessie & stretch (slim and full).
    # See https://hub.docker.com/r/library/python/ for all supported Python
    # tags from Docker Hub.
    FROM python:3.7.3
    
    LABEL Name=mindsdb Version=0.0.1
    
    WORKDIR /app
    ADD . /app
    
    RUN  pip install mindsdb
**Docker Compose**
version: '3'
services:
  app:
    container_name: mindsdb
    image: mindsdb
    build:
      context: ./
    volumes:
      - /path/to/mindsdb:/app/
    # tty: true

当我启用 tty: true时,它显示以下并卡住。

Creating mindsdb ... done
Attaching to mindsdb
mindsdb | Python 3.7.3 (default, May  8 2019, 05:28:42) 
mindsdb | [GCC 6.3.0 20170516] on linux
mindsdb | Type "help", "copyright", "credits" or "license" for more information.

通过在下面的docker-compose up鞋中启用详细信息:

compose.cli.verbose_proxy.proxy_callable: docker attach -> <generator object socket_raw_iter at 0x104116f68>
compose.cli.verbose_proxy.proxy_callable: docker start <- ('4511f48c4370b53c2f0cbe9f9c6479ebd9f76ad9426f315ef288dbdea947ed5f')
compose.parallel.feed_queue: Pending: set()
compose.parallel.feed_queue: Pending: set()
compose.parallel.feed_queue: Pending: set()
compose.parallel.feed_queue: Pending: set()
compose.parallel.feed_queue: Pending: set()
compose.parallel.feed_queue: Pending: set()
compose.parallel.feed_queue: Pending: set()
compose.parallel.feed_queue: Pending: set()
compose.parallel.feed_queue: Pending: set()
compose.parallel.feed_queue: Pending: set()
urllib3.connectionpool._make_request: http://localhost:None "POST /v1.25/containers/4511f48c4370b53c2f0cbe9f9c6479ebd9f76ad9426f315ef288dbdea947ed5f/start HTTP/1.1" 204 0
compose.cli.verbose_proxy.proxy_callable: docker start -> None
Starting mindsdb ... done
compose.parallel.feed_queue: Pending: set()
compose.parallel.parallel_execute_iter: Finished processing: <Service: app>
compose.parallel.feed_queue: Pending: set()
Attaching to mindsdb
compose.cli.verbose_proxy.proxy_callable: docker events <- (filters={'label': ['com.docker.compose.project=mindsdb', 'com.docker.compose.oneoff=False']}, decode=True)
mindsdb | Python 3.7.3 (default, May  8 2019, 05:28:42) 
mindsdb | [GCC 6.3.0 20170516] on linux
mindsdb | Type "help", "copyright", "credits" or "license" for more information.
urllib3.connectionpool._make_request: http://localhost:None "GET /v1.25/events?filters=%7B%22label%22%3A+%5B%22com.docker.compose.project%3Dmindsdb%22%2C+%22com.docker.compose.oneoff%3DFalse%22%5D%7D HTTP/1.1" 200 None
compose.cli.verbose_proxy.proxy_callable: docker events -> <generator object APIClient._stream_helper at 0x1041913b8>

我不明白为什么它进入python壳。甚至docker run -v /path/to/mindsdb:/app/ -i -t python:3.7.3也做相似。

这是因为您在Dockerfile中没有设置" CMD"或"入口点"。

这两个命令将告诉Docker进入Docker时该执行什么。您看到python shell的原因可能是因为这是您在Dockerfile开头继承的" Python:3.7.3" Docker的默认入口或CMD ..

相关内容

最新更新