作为Docker的新手,我试图通过工作目录中的kube-proxy
来构建一个包含一些示例数据的mongoDB Docker容器。
我的docker-compose.yml
包含以下代码:
mongo/Dockerfile
在最后一行中,示例数据将导入到mongoDB。
我的FROM mongo:latest
ADD shops.json /home/
RUN mongoimport --db masterdata --collection shops --file /home/shops.json
包含以下代码:
docker-compose.yml
使用上述配置,我尝试构建MongoDB docker容器并出现错误:
version: '3'
services:
mongo:
build: mongo
ports:
- "27017:27017"
此问题与mongoimport Docker Failed: error connecting to the db server: no reachable servers相似,但我确实尝试了mongoimport Docker Failed: error connecting to the db server: no reachable servers中给出的所有建议,但始终无法解决此错误。
那么任何人都可以帮忙吗?
答案 0 :(得分:1)
在启动图像容器之前,不会启动mongo数据库。 Dockerfile只处理映像中的文件和文件夹,而不会启动任何服务。
要将json导入数据库,您可以编写一个bash脚本,它将启动mongo服务并导入json。您可以将此脚本设置为图像的输入脚本。
答案 1 :(得分:1)
RUN mkdir -p /opt/acrc/config
COPY *.json /opt/acrc/config/
RUN mongod --fork --logpath=/tmp/mongodb.log && sleep 20 && \
mongoimport -c=users -d=acrc --mode=upsert --file=/opt/acrc/config/users.json && \
mongoimport -c=tasks -d=acrc --mode=upsert --file=/opt/acrc/config/tasks.json && \
mongoimport -c=configs -d=acrc --mode=upsert --file=/opt/acrc/config/configs.json && \
mongoimport -c=agentGroupConfigs -d=acrc --mode=upsert --file=/opt/acrc/config/agentGroupConfigs.json