如何使用Dockerfile入口点设置umask值?我尝试了一些不同的方法,例如在入口点脚本gosu root sh -c umask 0026
中编写它。内部Dockerfile ENTRYPOINT ["/bin/sh", "-i" "-c""/entrypoint.sh"]
。在谷歌搜索后,我发现我需要一个交互式外壳。但是,在我的情况下为什么不起作用,因为我正在使用gosu或传递参数-i
。是的,可以通过/etc/profile.d/set_umask.sh进行采购,但是我总是需要向-l
发送一个额外的参数docker exec
,或者如果通过ENV ENV=/etc/profile
进行设置,则Docker容器以哈希值开头我想避免像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 "$@"