0
我想在Docker容器內部設置一個開發環境,使用容器編譯和運行我的代碼,而代碼本身駐留在主機上(即我的本地機器)。我已經構建並運行了該映像,但無法連接到該映像。無法連接到託管在主機中的Docker容器託管的服務器
我dockerfile:
# Dockerfile (tag: v3)
FROM node:latest
WORKDIR /tmp
COPY package.json /tmp/
RUN npm config set registry http://registry.npmjs.org/ && npm i
WORKDIR /usr/src/app
COPY . /usr/src/app/
RUN cp -a /tmp/node_modules /usr/src/app/ && npm run dll
ENV NODE_ENV=production
ENV PORT=4000
EXPOSE 4000
然後我的搬運工,撰寫文件:
# docker-compose.yml (tag: v4)
web:
build: .
ports:
- "4000:4000"
volumes:
- .:/usr/src/app/:rw
environment:
- NODE_ENV=development
command: >
sh -c '
if test -d node_modules;
then
echo node_modules_exists ;
else
cp -a /tmp/node_modules /usr/src/app/website;
fi &&
npm i &&
npm start
'
在此設置下,我希望能夠連接到localhost:4000
。從我的快車應用程序現在在端口4000上偵聽的容器輸出控制檯。我還嘗試使用172.17.0.2:4000
,這是使用docker inspect
進行檢查時的容器IP地址。
我需要採取哪些其他步驟來連接?我使用Linux容器運行Windows 10和Docker 17.09.0-ce-win33(13620)。