Как установить umask в Docker Alpine - PullRequest
0 голосов
/ 23 ноября 2018

Как мне установить значение umask, используя точку входа Dockerfile?Я пробовал несколько разных способов, таких как написание сценария точки входа gosu root sh -c umask 0026.Внутри Dockerfile ENTRYPOINT ["/bin/sh", "-i" "-c""/entrypoint.sh"].После поиска в Google я обнаружил, что мне нужна интерактивная оболочка.Но почему в моем случае не работает, так как я использую gosu или передаю параметр -i.Да, поиск через /etc/profile.d/set_umask.sh работает, но мне всегда нужно отправлять дополнительный параметр -l в docker exec или, если он установлен, хотя ENV ENV=/etc/profile, контейнер докера начинается с приглашения значения хеша, например a9b3d38e07c4:/var/www/, котороеЯ хочу избежать.Мой второй вопрос: что это за 12-значное хеш-значение, отображаемое в приглашении после выбора профиля, и как мы можем его отключить?

#!/bin/sh

set -ex

umask 0026
gosu root sh -c "envsubst \
          '\$DOMAIN_NAME \$PROJECT_NAME' \
          < /vhost-templates/drupal-${DRUPAL_VERSION}.conf \
          > /etc/nginx/conf.d/${DOMAIN_NAME}.conf" \
          2>/dev/null || :


gosu root chmod o-rwx /usr/bin/gosu 2>/dev/null || :
exec "$@"
...