Назад | Перейти на главную страницу

dockerfile не запускается

Вот мой Dockerfile:

FROM php:5.5-apache

COPY sites-enabled.tgz /root/sites-enabled.tgz

RUN cd /etc/apache2/sites-enabled && \
    tar xvf /root/sites-enabled.tgz

У меня есть несколько сайтов, которые необходимо настроить, и я считаю, что самый простой способ их настройки - просто скопировать файлы конфигурации для сайтов в соответствующие каталоги. К сожалению, я не могу этого сделать.

я делаю docker build -t mywebsite . а потом docker run -d mywebsite. Обе эти команды работают нормально. Последний дает мне строку в шестнадцатеричной кодировке. Но потом, когда я это сделаю docker ps Я не вижу работающих машин.

Обычно файлы на сайтах с поддержкой являются символическими ссылками на доступные сайты. idk, если это так в каждом случае, но если это так, то кажется, что может потребоваться также скопировать сайты, доступные для сайтов. например.

FROM php:5.5-apache

COPY sites-available.tgz /root/sites-available.tgz
COPY sites-enabled.tgz /root/sites-enabled.tgz

RUN cd /etc/apache2/sites-available && \
    tar xvf /root/sites-available.tgz

RUN cd /etc/apache2/sites-enabled && \
    tar xvf /root/sites-enabled.tgz

К сожалению, это тоже не работает. С sites-available.tgz он работает, но не с sites-enabled.tgz.

Любые идеи?

контейнер делает то, что вы говорите, он делает копию файла и помещает его в контейнер, затем он переходит в каталог и, наконец, распаковывает файл, и все. Вы не объявляете CMD команда, которая инициализирует apache или сделает что-нибудь, поэтому ваш контейнер не будет работать, если вы этого не сделаете

попробуйте поместить это в конец файла докеров CMD /usr/sbin/apache2ctl -D FOREGROUND

дайте мне знать, как это происходит