我有運行這些容器:如何將Node.js應用程序連接到獨立的Docker容器中運行的數據庫?
我能夠在localhost:7474
在localhost:49160
和數據庫訪問節點的應用程序如預期。
然而,該節點的應用程序似乎無法真正連接到數據庫。當我嘗試時出現此錯誤:
Error: connect ECONNREFUSED 127.0.0.1:7474
at Object.exports._errnoException (util.js:1018:11)
at exports._exceptionWithHostPort (util.js:1041:20)
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1086:14)
這通常意味着它無法在該主機:端口找到數據庫。
同樣,我能夠參觀127.0.0.1:7474
並清楚地看到在數據庫運行。
我也試圖連接到0.0.0.0:7474
,但也不能工作。
當我在Docker容器中運行節點應用程序本地+數據庫時沒有問題,但是當我也在泊塢窗容器中運行節點應用程序時會發生此問題。
什麼主機和端口應該是數據庫是可用的(我應該怎麼連接?),和我是什麼可能丟失或做錯了什麼?
Dockerfile節點,應用
FROM node:boron
# Create app directory
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
# Install app dependencies
COPY package.json /usr/src/app/
RUN yarn
# Bundle app source
COPY . /usr/src/app
EXPOSE 8080
CMD [ "yarn", "start" ]
泊塢窗Neo4j的運行CMD
docker run -d -e NEO4J_AUTH=none \
--publish=7474:7474 --publish=7687:7687 \
--volume=$HOME/neo4j/data:/data \
--volume=$HOME/neo4j/logs:/logs \
--volume=$HOME/neo4j/conf:/conf \
--volume=$HOME/neo4j/plugins:/plugins \
neo4j:3.1.4