MongoDB容器Dockerfile无法访问服务器

MongoDB容器Dockerfile无法访问服务器,mongodb,docker,dockerfile,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”到容器中并使

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

CMD
在启动容器时运行。 因此,docker在构建映像时执行dockerfile的最后一条
RUN
指令时,
mongod
未运行

FROM mongo
COPY . /mongo-seed
# EXPOSE 27017 //not necessary, the mongo base image already has that instruction
ENTRYPOINT mongod
构建和运行:
docker构建-t foo.&docker run-d——名称栏foo

执行
mongorestore
命令:

docker exec bar mongorestore --drop ...

CMD
在启动容器时运行。 因此,docker在构建映像时执行dockerfile的最后一条
RUN
指令时,
mongod
未运行

FROM mongo
COPY . /mongo-seed
# EXPOSE 27017 //not necessary, the mongo base image already has that instruction
ENTRYPOINT mongod
构建和运行:
docker构建-t foo.&docker run-d——名称栏foo

执行
mongorestore
命令:

docker exec bar mongorestore --drop ...

一切如期进行。需要使用mongorestore而不是mongorestore。我仍在学习CMD、ENTRYPOINT、RUN等的不同用法。对不起,这是我的输入错误:)一切正常。需要使用mongorestore而不是mongorestore。我还在学习CMD、ENTRYPOINT、RUN等的不同用法。对不起,这是我的错:)