2017-05-02 5 views
0

docker 컨테이너에서 nuxt 응용 프로그램을 실행하려고합니다. 내가 이미지를 구축하고 용기 (docker run -p 3000:3000 <image-id>)를 실행하면 브라우저에서 localhost:3000을 치는 동안Docker에서 nuxt js 응용 프로그램 실행

FROM node:6.10.2 

RUN mkdir -p /app 

EXPOSE 3000 

COPY . /app 
WORKDIR /app 
RUN npm install 
RUN npm run build 

CMD [ "npm", "start" ] 

는 그러나, 나는 아무것도 얻을 :이를 위해, 나는 다음과 같은 Dockerfile를 만들었습니다. 그 원인은 무엇일까요?

답변

1

기본적으로 Docker 컨테이너 안의 응용 프로그램은 http://127.0.0.1:3000에서 네트워크 트래픽을 수락합니다. 이 인터페이스는 외부 트래픽을 허용하지 않으므로 작동하지 않습니다. 작동 시키려면 nuxt app의 HOST 환경 변수를 0.0.0.0 (모든 IP 주소)으로 설정해야합니다. 우리는이 같은 Dockerfile에서이 작업을 수행 할 수 있습니다

"scripts": { "start": "HOST=0.0.0.0 nuxt start" ...}

또는 nuxt 응용 프로그램을 만들 것입니다 다른 방법 :

FROM node:6.10.2 

ENV HOST 0.0.0.0 

# rest of the file 

또는 스크립트의에서 package.json에

명령 "시작" 컨테이너 내부의 localhost가 아닌 다른 곳에서만들을 수 있습니다.