2017-12-17 7 views
0

하나의 nginx와 다른 nodejs라는 두 개의 도커를 만들려고합니다. 그러나, 나는 이미지의 두 세트가 만들어지고 찾을 수 있습니다. 기존의 모든 이미지를 삭제하고 시스템을 재부팅했지만 아래와 같이 표시됩니다. 관련 파일은 다음과 같습니다.docker-compose : 서비스 당 다중 이미지

은 다음 고정 표시기-compose.yml이다

services: 

    nginx: 
    build: ./nginx 
    restart: always 
    ports: 
     - "80:80" 
    links: 
     - node:node 

    node: 
    build: ./node 
    restart: always 
    ports: 
     - "8080:8080" 
    volumes: 
     - ./node:/usr/src/app 
     - /usr/src/app/node_modules 

다음과의 nginx Dockerfile은 :

FROM nginx 
COPY nginx.conf /etc/nginx/conf.d/default.conf 

을 그리고 NodeJS Dockerfile는 다음과 같이

FROM node:9.3.0-alpine 
WORKDIR /usr/src/app 
COPY package.json /usr/src/app/ 

RUN npm install 
COPY . /usr/src/app 

EXPOSE 8080 
CMD [ "npm", "start" ] 
docker images

명령 :

REPOSITORY   TAG     IMAGE ID   CREATED    SIZE 
hudddle_nginx  latest    f784ac4611f5  5 minutes ago  108MB 
hudddle_node  latest    5e083ec259e7  5 minutes ago  70.4MB 
node    9.3.0-alpine  466bcf8bf36e  3 days ago   67.6MB 
nginx    latest    f895b3fb9e30  5 days ago   108MB 

왜 그렇습니까? 서버 (AWS)가 오늘 생성되었습니다. 감사합니다

올바른 동작

그게

답변

0

고정 표시기를 구축하는 dockerhub에서 nginz 얻고 노드 이미지를하는 동안, nginx를 FROM 및 dockerfile의 노드에서 사용한다.

docker를 다시 빌드하려면 이번에는 dockerhub에서 다운로드하지 않고 로컬 캐시 이미지를 사용합니다.

Mybe는 아래 사용하기 때문에의

docker build -t hudddle_nginx . 
docker build -t hudddle_node . 

을 구축하는 명령을 자사의 기본 이미지 첫번째의 nginx와 노드 다음 사용자 정의 이미지 hudddle_nginx, hudddle_node 응답 @의 sanath - 경제 산업 성 (METI)에 대한

+0

감사합니다. 빌드 명령을 사용하고 있지 않습니다. 하지만 두 개의 이미지가 있음을 의미합니까? 그리고 3 일 전의 의미는 무엇입니까? 도커 - 허브에 내 설정 사본이 있습니까? – Raj

+0

어떻게 이런 이미지 hudddle_nginx를 얻었습니까? dockerfiel을 사용하여 빌드 명령을 실행할 때이 hudddle_nginx를 작성하고 dockerfile에서 nginx를 사용하여 이미지를 다운로드하고 빌드하는 동안 언급 한 hudddle_nginx를 3 일 전에 누군가가 커밋했다는 것을 의미합니다. dockerhub repo에서 그 이미지를 볼 수 있습니다. –

+0

docker repo에서 해당 이미지에 대한 커밋 **을하려면 로그인이나 일종의 작업이 필요하지 않습니까? 테스트를하는 동안 빌드 명령을 사용할 수 있었지만 현재 새 서버에서는'docker-compose '를 사용했습니다. hudddle_nginx가 docker-hub에 있는지 알아낼 방법이 있습니까? 나는 검색을 시도하고 그것은 null을 보여줍니다. – Raj