MongoDB Container Dockerfile没有可访问的服务器

时间:2016-08-17 03:09:14

标签: mongodb docker dockerfile

我正在尝试构建一个简单的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

1 个答案:

答案 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 ...