我有一個連接到同一服務器上的區塊鏈的nodejs應用程序。通常我使用127.0.0.1 +端口號(每個鏈接都得到不同的端口)。如何連接到Docker容器的本地主機(從容器內部)
我決定將鏈和應用程序放在同一個容器中,這樣前端開發人員就不必費心設置鏈。
但是,當我建立圖像鏈應該開始。當我運行圖像時,它不是。此外,當我在容器中進行嘗試手動運行時,它會顯示「[email protected]:PORT」。所以我認爲我不需要127.0.0.1連接到127.0.0.2上的端口,但這似乎不起作用。
我確定像這樣連接並不新鮮,應該和數據庫一樣工作。誰能幫忙?第一條建議是如何調試這些圖像,因爲我不知道它出錯的地方。
這裏是我的dockerfile
FROM ubuntu:16.04
RUN apt-get update
RUN apt-get install -y curl
RUN apt-get install -y apt-utils
RUN apt-get install -y build-essential
RUN curl -sL https://deb.nodesource.com/setup_6.x | bash -
RUN apt-get install -y nodejs
ADD workfolder/app /root/applications/app
ADD .multichain /root/.multichain
RUN npm install \
&& apt-get upgrade -q -y \
&& apt-get dist-upgrade -q -y \
&& apt-get install -q -y wget curl \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/* \
&& cd /tmp \
&& wget http://www.multichain.com/download/multichain-1.0-beta-1.tar.gz \
&& tar -xvzf multichain-1.0-beta-1.tar.gz \
&& cd multichain-1.0-beta-1 \
&& mv multichaind multichain-cli multichain-util /usr/local/bin \
&& cd /tmp \
&& rm -Rf multichain*
RUN multichaind Chain -daemon
RUN cd /root/applications/app && npm install
CMD cd /root/applications/app && npm start
EXPOSE 8080
順便說一句,由於政策,我只能連接到服務器的80端口,以檢查是否正常工作。當我運行Docker鏡像時,我可以訪問我的/ api-docs文件,但不能訪問我開始與區塊鏈進行交互的任何端點。
你在做CMD或'docker run'開始區塊鏈? – Robert
sudo docker run -d -p 80:8080 –
Rachelle
您需要告訴docker您要啓動的程序。你可以在Dockerfile中用'CMD'或'ENTRYPOINT'來完成。你有什麼東西嗎? – Robert