以下针对Docker和docker-compose.yml的代码无法正常工作,无法将sample_collection.bson加载到docker中
Dockerfile
FROM python:3.8
WORKDIR /salary_data_ggregation
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
CMD ["python", "run.py"]
docker-compose.yml
services:
bot:
build: .
depends_on:
- mongo
mongoimport:
image: mongo
container_name: mongo_import
volumes:
- ./bot/database/static_collection/sample_collection.bson:/data/sample_collection.bson
command: mongoimport --host mongodb --db aggregation --collection sample_collection --file /data/sample_collection.bson
mongo:
image: mongo
container_name: mongo_db
ports:
- 27017:27017
depends_on:
- mongoimport
我希望在进入MongoDB Compass时看到一个聚合数据库和一个sample_collection
1条答案
按热度按时间zbsbpyhn1#
如果我理解正确的话,
depends_on
应该是相反的-mongoimport
服务应该等待mongo启动后再尝试导入。此外,主机应该是--host mongo
而不是mongodb
。我还建议使用docker推荐的方式在mongo中预填充数据,方法是在
/docker-entrypoint-initdb.d
下挂载一个JS脚本,mongo将执行该脚本。请参阅docker hub中的Initializing a fresh instance。