Я пытаюсь установить HTTPD в докер, я написал dockerfile так:HTTPD в докер не может начать
FROM centos
VOLUME /var/log/httpd
VOLUME /etc/httpd
VOLUME /var/www/html
# Update Yum Repostory
RUN yum clean all && \
yum makecache fast && \
yum -y update && \
yum -y install httpd
RUN yum clean all
EXPOSE 80
CMD /usr/sbin/httpd -D BACKGROUND && tail -f /var/log/httpd/access_log
это работает, если я бегу изображение без томов хозяина, но не если я использую параметр:
--volume /data/httpd/var/www/html:/var/www/html --volume /data/httpd/var/log:/var/log --volume /data/httpd/etc:/etc/httpd
сообщение об ошибке:
httpd: Could not open configuration file /etc/httpd/conf/httpd.conf: No such file or directory
Я проверил точку монтирования, которая является пустым:
# ll /data/httpd/etc/
total 0
Но если я не использую «объем» по Копирует докеров по умолчанию над файлами в папку Temp:
# ll /var/lib/docker/volumes/04f083887e503c6138a65b300a1b40602d227bb2bbb58c69b700f6ac753d1c34/_data
total 4
drwxr-xr-x. 2 root root 35 Nov 3 03:16 conf
drwxr-xr-x. 2 root root 78 Nov 3 03:16 conf.d
drwxr-xr-x. 2 root root 4096 Nov 3 03:16 conf.modules.d
lrwxrwxrwx. 1 root root 19 Nov 3 03:16 logs -> ../../var/log/httpd
lrwxrwxrwx. 1 root root 29 Nov 3 03:16 modules -> ../../usr/lib64/httpd/modules
lrwxrwxrwx. 1 root root 10 Nov 3 03:16 run -> /run/httpd
Так что я запутался, почему докер отказался копировать их в именованный место нахождения? и как решить эту проблему?
Спасибо, Цеппелин, но что вы подразумеваете под «установкой каталога хоста»? Я использую параметр «volume», я надеюсь, что он сможет сделать то, что говорит документ: «существующие данные копируются в новый том при инициализации тома», но этого не происходит. – user3593261
Установка тома означает, что вы создаете папку вашей файловой системы хоста (то есть _/date/httpd/etc/_), доступную в качестве тома (_/etc/httpd_) внутри вашего контейнера, указав оба в командной строке: volume =/data/httpd/etc:/etc/httpd. (который является синтаксисом для томов _mounted_). Это отличается от простого объявления тома с помощью --volume/etc/httpd (обратите внимание, что путь к каталогу не указан). – zeppelin
Спасибо за ваше объяснение, но это не имеет смысла, если я не дам ему точку монтирования. Тем не менее, я удалил локальный путь (--volume =/etc/httpd), который все еще не удалось, так как он создал новую папку temp, и ничего не было скопировано. – user3593261