我正在尝试构建一个简单的Dockerfile来将文件从当前目录复制到容器中,然后运行mongorestore命令来播种数据。我查看了很多不同的网站,但我仍然收到以下错误。
2016-08-17T03:03:22.639 + 0000失败:连接到数据库服务器时出错:无法访问服务器
命令' / bin / sh -c mongorestore --drop / mongo-seed / mongo-seed-data / mongo-dump --host 127.0.0.1:27017'返回非零代码:1
当我" bash"进入容器并使用与填充数据库相同的参数运行mongorestore命令。我感到茫然,请帮助。
下面是Dockerfile
FROM mongo
COPY . /mongo-seed
EXPOSE 27017
CMD ["mongod"]
RUN mongorestore --drop /mongo-seed/mongo-seed-data/mongo-dump --host 127.0.0.1:27017
答案 0 :(得分:2)
CMD
。
因此,当docker在构建映像时执行dockerfile的最后mongod
指令时,RUN
未运行。
FROM mongo
COPY . /mongo-seed
# EXPOSE 27017 //not necessary, the mongo base image already has that instruction
ENTRYPOINT mongod
构建并运行:docker build -t foo . && docker run -d --name bar foo
执行mongorestore
命令:
docker exec bar mongorestore --drop ...