我制作了NodeJS& mongoDB Docker镜像, 这是Dockerfile:
FROM ubuntu:14.04
MAINTAINER K. Haejin "haejin.kim419@gmail.com"
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update
RUN apt-get -qq update
RUN apt-get install -y nodejs npm
RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
RUN echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | tee /etc/apt/sources.list.d/10gen.list
RUN apt-get update && apt-get install -y mongodb-org=2.6.1 mongodb-org-server=2.6.1 mongodb-org-shell=2.6.1 mongodb-org-mongos=2.6.1 mongodb-org-tools=2.6.1
RUN update-alternatives --install /usr/bin/node node /usr/bin/nodejs 10
RUN mkdir -p /data/db
VOLUME ["/data"]
ADD . /data
WORKDIR /data
EXPOSE 8000
EXPOSE 27017
CMD ["mongod"]
我将它构建为“mongo_node”图像, 并通过以下命令运行容器:
docker run -it --name mongo_node -v "$(pwd)":/data -p 8000:8000 -p 27017:27017 mongo_node bash
但是当我通过'mongoimport'命令将大文件(400MB)推入mongoDB时,Container就会卡住。它仍然在运行,我无法进入(docker exec -it mongo_node bash),无法停止(docker stop mongo_node)并杀死。它可以通过重新启动我的桌面来停止(如果它发生在服务器..应该重置服务器..这太可怕了)。 我认为问题是我的Dockerfile,因为我从未在标准mongodb图像中看到过这个问题。