wordpress docker
В офф конфиге докера по вордпрессу есть вот такой пункт:
RUN set -ex; \
curl -o wordpress.tar.gz -fSL "https://wordpress.org/wordpress-${WORDPRESS_VERSION}.tar.gz"; \
echo "$WORDPRESS_SHA1 *wordpress.tar.gz" | sha1sum -c -; \
# upstream tarballs include ./wordpress/ so this gives us /usr/src/wordpress
tar -xzf wordpress.tar.gz -C /usr/src/; \
rm wordpress.tar.gz; \
chown -R www-data:www-data /usr/src/wordpress
Может мне кто нибудь объяснить, зачем он качает вордпресс в ту папку? Для чего это вообще?
Ответы (1 шт):
зачем он качает вордпресс в ту папку?
согласно fhs каталог /usr/src — вполне подходящее место для расположения тех исходных текстов, которые используются «for reference purpose» («чтобы на них ссылаться»). собственно, именно так содержимое /usr/src/wordpress в дальнейшем и используется (см. далее).
Для чего это вообще?
при запуске контейнера из этого образа выполняется скрипт, указанный как «точка входа»:
ENTRYPOINT ["docker-entrypoint.sh"]
при первом запуске скрипт не обнаружит в текущем каталоге файла index.php:
if [ ! -e index.php ] && [ ! -e wp-includes/version.php ]; then
и скопирует содержимое каталога /usr/src/wordpress в текущий:
tar "${sourceTarArgs[@]}" . | tar "${targetTarArgs[@]}"
вот это скопированное содержимое уже и будет использоваться http-сервером (также установленном внутри образа) для отображения сайта. это именно та цель, для которой образ и создаётся.
зачем нужно копирование? в частности для того, чтобы текущий каталог можно было примонтировать из хост-системы внутрь образа и при первом же запуске контейнера получить в этом каталоге работоспособный docroot сайта, который будет сохраняться и после пересоздания контейнера.