以下是我的文件。
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 ..