我在启动本机运行良好的容器化服务器时遇到问题,问题是它在运行时崩溃。以下是docker compose命令的输出:
zos_context | File "/code/redis_client.py", line 4, in <module>
zos_context | import redis
zos_context | File "/usr/local/lib/python3.5/dist-packages/redis/__init__.py", line 6, in <module>
zos_context | import importlib_metadata as metadata
zos_context | File "/usr/local/lib/python3.5/dist-packages/importlib_metadata/__init__.py", line 55
zos_context | return f"No package metadata was found for {self.name}"
zos_context | ^
zos_context | SyntaxError: invalid syntax
zos_context exited with code 1
我使用的图像是python:3.8-alpine。我也尝试过python:3.7-alpine[/strong>,甚至python:3.5-alpine,但总是会出现同样的错误。
这是Dockerfile的一部分:
FROM python:3.8-alpine
WORKDIR /code
RUN pip3 install redis
RUN pip3 install redis pika
CMD ["python3", "/code/server.py"]`
问题是我使用的docker compose只是使用过时的映像启动容器,解决方案是从容器上的本地机器装载工作目录以跟上更新。另一种解决方案是在使用docker compose:启动时使用添加参数--build
docker-compose up -d --build