Как мне установить значение 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 "$@"