我需要在docker中运行此python脚本:
--mongodb_write_static.py--
import pymongo
myclient = pymongo.MongoClient('27017')
--in terminal--
docker-compose build #create Python env, no errors
docker-compose up #create Mongo env and run script
docker-compose up给了我:
有人可以帮我吗?非常感谢。
--Dockerfile--
FROM python:3.8.3
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
COPY . /code
RUN pip install datetime numpy pandas pymongo xlrd
CMD ["python", "mongodb_write_static.py"]
--docker-compose.yml--
version: '3.8'
services:
write_static:
build:
context: ./
dockerfile: ./Dockerfile
ports:
- "8000:8000"
links:
- mongo
depends_on:
- mongo
volumes:
- .:/code
mongo:
image: mongo
ports:
- "27017:27017"
command: mongod --port 27017 --bind_ip 0.0.0.0
由于数据库和python代码在不同的容器中运行,因此MongoClient需要了解要连接到哪个主机名。在您的情况下,您可以告诉它连接到mongo
,因为那是服务的名称。因此,您的代码更改只是一行: