【问题标题】:How to grant root privileges to postgres user如何授予postgres用户root权限
【发布时间】:2018-02-26 17:24:30
【问题描述】:

我在我的开发环境中使用 Postgres 图像 (https://hub.docker.com/_/postgres/)。
自去年以来,init 脚本不再以 root 身份运行 (https://github.com/docker-library/postgres/pull/253)。
但我仍然想在启动时以 root 用户身份运行初始化脚本。

如何授予 postgres 用户 root 权限以完成此操作?

【问题讨论】:

    标签: postgresql docker


    【解决方案1】:

    如果您在容器内,您将获得 root 访问权限。如果你想以 root 身份在容器内执行命令,你可以使用这个命令

    docker exec -ti your_container_name sh -c 'create something && update'
    

    Dockerfile:

    FROM postgres RUN sh -c 'create something && update' ENTRYPOINT ["/docker-entrypoint.sh"] CMD ["postgres", "do something"]

    【讨论】:

    • 谢谢。我不想手动执行它,而是在容器启动时(例如在 Dockerfile 中定义它)
    • 感谢 Dockerfile 更新。但我不认为这会在每次启动容器时执行,因为当我尝试像这样启动第三方应用程序时,它并没有在运行的容器中运行。
    • 来自 dockerfile 的@Palmi 命令仅在您构建映像时执行。构建映像后,您可以从映像运行容器并在容器中执行命令,如上所示
    • 好的。这对我来说不是解决方案。我只想授予 postgres 用户 root 权限。这对我来说会更容易。
    • @Palmi cmd["command"] 将在每个启动的容器上执行
    猜你喜欢
    • 2012-01-19
    • 2019-01-23
    • 1970-01-01
    • 2012-03-23
    • 1970-01-01
    • 2015-12-07
    • 2018-10-15
    相关资源
    最近更新 更多