我创建了一个mongodb的Dockerfile,如下所示。
FROM mongo
COPY ./start.sh .
RUN chmod +x ./start.sh
EXPOSE 27017-27019
CMD ["./start.sh"]
start.sh包含以下内容
mongod
我用来运行docker的命令
sudo docker run -p 27017:27017 custom_mongo
我可以从容器内部连接此docker(即通过exec -it命令,然后使用mongo客户端)但是,当尝试从Mongo Compass连接时,它超时,这意味着该端口未转发/暴露。
等效的docker在没有任何Dockerfile的情况下直接运行时,已成功连接到Compass。下面是我使用过的命令。
docker run -d -p 27017-27019:27017-27019 --name mongodb mongo
所以,问题在于start.sh中的 0.0.0.0