我有 Dockerfile
FROM mongo
RUN mkdir -p /app/data
WORKDIR /app/data
COPY cars.csv /app/data
RUN mongod --fork --syslog
CMD ["mongoimport", "-d", "Gene", "-c", "Genes", "--type", "csv", "--file", "cars.csv", "--headerline"]
EXPOSE 27017:27017
我使用以下命令構建并啟動 docker 檔案
docker build -t "mtest:1" .
docker run mtest:1
運行命令給了我以下錯誤
2022-01-07T19:01:12.784 000 error connecting to host: could not connect to server: server selection error:
server selection timeout, current topology: { Type: Single, Servers: [{ Addr: localhost:27017,
Type: Unknown, Last error: connection() error occured during connection handshake:
dial tcp 127.0.0.1:27017: connect: connection refused }, ] }
docker ps -a 的輸出
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e623f431b9db mtest:1 "docker-entrypoint.s…" 2 minutes ago Exited (1) About a minute ago cranky_satoshi
當我嘗試在容器內使用docker exec -it e623f431b9db bash并運行時,mongod我得到以下資訊
MongoDB shell version v5.0.5
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed: SocketException: Error connecting to 127.0.0.1:27017 :: caused by :: Connection refused :
connect@src/mongo/shell/mongo.js:372:17
@(connect):2:6
exception: connect failed
exiting with code 1
我是新手,我不確定我做錯了什么。
uj5u.com熱心網友回復:
您已經用自己的 覆寫了 mongo 啟動程序CMD,因此 Mongo 服務器不再啟動。因此,mongoimport將失敗,并且您的容器將退出。
相反,只需運行帶有卷掛載的原始 Mongo 映像,然后執行到它,并運行您的匯入功能。之后,它仍會運行,您可以連接到它。
順便說一句,EXPOSE 27107:27107這不是一個有效的表達方式。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/406543.html
標籤:
