
여러 개의 Docker 이미지를 작성 중인데 해당 명령이 포함된 이미지를 가져오는데 특정 명령에 액세스할 수 없는 것 같습니다. 예:
# Dockerfile ubuntu-essentials
FROM ubuntu:14.04
RUN apt-get update
RUN apt-get -y install ssh rsync git graphviz gedit-plugins wget nano zlibc zlib1g-dev build-essential libncurses5-dev libncursesw5-dev libboost-dev gdebi software-properties-common unzip
# Dockerfile fastqc
FROM ubuntu:14.04
FROM rioualen/ubuntu-essentials:1.0
ENV SOURCE_DIR=~/app_sources/
ENV BIN_DIR=~/bin/
WORKDIR ${SOURCE_DIR}
RUN wget --no-clobber http://www.bioinformatics.babraham.ac.uk/projects/fastqc/fastqc_v0.11.5.zip
RUN unzip -o fastqc_v0.11.5.zip
첫 번째 이미지에 설치되어 있어도 "압축 풀기를 찾을 수 없음" 오류가 발생합니다. wget 명령은 완벽하게 작동합니다.
두 번째 Dockerfile에 unzip 설치를 추가하면 정상적으로 작동합니다.
# Dockerfile fastqc
FROM ubuntu:14.04
FROM rioualen/ubuntu-essentials:1.0
ENV SOURCE_DIR=~/app_sources/
ENV BIN_DIR=~/bin/
RUN apt-get -y install unzip
WORKDIR ${SOURCE_DIR}
RUN wget --no-clobber http://www.bioinformatics.babraham.ac.uk/projects/fastqc/fastqc_v0.11.5.zip
RUN unzip -o fastqc_v0.11.5.zip
어떤 아이디어? Docker를 처음 접해서 무엇을 찾아야 할지 모르겠습니다... 감사합니다.
답변1
여러 "FROM"이 예상대로 작동하지 않습니다. 각 FROM을 새 이미지의 구분 기호로 사용합니다. 즉, 3개의 서로 다른 이미지를 만들고 마지막 이미지는 다음과 같습니다.
FROM rioualen/ubuntu-essentials:1.0
ENV SOURCE_DIR=~/app_sources/
ENV BIN_DIR=~/bin/
WORKDIR ${SOURCE_DIR}
RUN wget --no-clobber http://www.bioinformatics.babraham.ac.uk/projects/fastqc/fastqc_v0.11.5.zip
RUN unzip -o fastqc_v0.11.5.zip
설치하지 않은 곳에 압축을 푼다.
그만큼그것에 관한 문서조금 부족하지만 설명이 잘 된 것 같아요.
구축하려는 각 이미지를 자체 이미지에 넣는 것이 좋습니다. Dockerfile
즉, 각각에 하나의 "FROM"만 있음을 의미합니다. 이렇게 하면 무슨 일이 일어나고 있는지에 대해 훨씬 더 나은 투명성을 얻을 수 있습니다.