2

Я создаю несколько образов 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 работает отлично.

При добавлении установки unzip во второй Dockerfile он работает нормально:

# 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 ответ1

0

Несколько "ОТ" не работают так, как вы ожидаете. Возьмите каждый ОТ в качестве разделителя для нового изображения. Это означает, что вы создаете 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" в каждом. Это даст вам гораздо большую прозрачность в том, что происходит.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .