如何使用非 root 用户创建 postgres 容器?

2024-01-03

我想以非 root 用户身份运行 postgres 容器。默认情况下,该映像具有用户 postgres (uid 999)。

当通过命令访问容器时docker exec -it mycontainer /bin/bash,用户是root。

为了使容器更安全,我使用 Dockerfile 创建了一个新映像。我在其中定义了USER postgres.

够了吗?更改权限是否有趣/usr/local/bin/docker-entrypoint.sh对于用户 postgres?

简单的 docker-compose.yml:

version: "2.4"
services:
  db:
    container_name: mycontainer
    hostname: mycontainer
    restart: always
    volumes:
      - postgres_data:/var/lib/postgresql/data/
    networks: 
      - default
    environment:
      - POSTGRES_PASSWORD=postgres
      - POSTGRES_DB=postgres
      - POSTGRES_USER=postgres
    build: .
    image: mycontainer:1.0

volumes:
  postgres_data:

networks:
 default:

简单的 Dockerfile:

FROM postgres:14.1-bullseye

#Assessing whether this parameter is needed.
#RUN chown postgres:postgres /usr/local/bin/docker-entrypoint.sh

USER postgres

使用的链接:

https://github.com/docker-library/repo-info/blob/master/repos/postgres/remote/12-bullseye.md https://github.com/docker-library/repo-info/blob/master/repos/postgres/remote/12-bullseye.md


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用非 root 用户创建 postgres 容器? 的相关文章

随机推荐

  • Python:时间拉伸波形文件 - 三种方法之间的比较

    我正在对语音数据集进行一些数据增强 并且我想在时域中拉伸 压缩每个音频文件 我找到了以下三种方法来做到这一点 但我不确定哪一种是最好的或更优化的方法 dimension int len signal speed res librosa ef
  • Python numpy 按字符串列的值拆分 csv 文件

    我有 5000 行数据 在 csv 文件中如下所示 我想使用 numpy 数组按最后一列 6 即 A B 进行分组 因为之后我将在每组中绘制数据 Title Date Time Value1 Value2 Value3 Value4 Val
  • 如何在Fragment中添加滚动

    我已经实施了Twitter SDK在列表片段中 就像 Twitter 一样 它具有无限滚动功能 但是当我尝试添加这个片段时scrollview layout它禁用scrollview of twitter fragment public c
  • VB.NET:如何防止用户在组合框中输入

    如何防止用户在组合框中输入内容 以便用户只能选择定义列表中的一项 Set the DropDownStyle组合框的属性为DropDownList 这将只允许选择列表中的项目 并且不允许任何自由格式的用户输入
  • Ipython Notebook:Mac 中的 jupyter_notebook_config.py 在哪里?

    我刚刚开始使用 Mac 所以如果这听起来太天真 请原谅我 我正在尝试安装Interactive Parallel From https github com ipython ipyparallel https github com ipyt
  • VueJS 中只有在调度和提交完成后才触发路由

    我确实有一个表单提交 它需要电子邮件和密码 然后将它们传递到商店中名为的操作中userSignIn 登录 vue onSubmit if this refs form validate const user email this email
  • oink 日志命令在 Heroku 上不起作用

    我最近开始使用oink gem https github com noahd1 oink在我的 Heroku 应用程序上 因为我注意到一些控制器操作出现了小内存泄漏 oink log 命令在本地工作正常 但我无法弄清楚让它在我的生产站点上工
  • 如何将图像添加到 DataGridView 中的单个特定单元格?

    使用 C 和 Visual Studio 我有一个DataGridView有 2 列 对于每一行 第一列将显示文本 对于除特定行之外的每一行 第二列将显示文本 在第二列的一个特定单元格中 我需要显示一张图像 例如 Row 0 Cell 0
  • GoogleSheets google.script.run 总是去 FailureHandler

    我正在使用 GoogleSheets HTMLService 我正在从我的 Html 页面的脚本中调用 google script run 但它总是会去 FailureHandler 这其中有什么问题吗 请参阅下面的代码 当我运行它时 它总
  • 调整 Java 7 中默认文件系统的行为

    Java 7 引入了一个用于编写自定义文件系统的出色 API 考虑一个用例 我不想实现新的文件系统 我只想调整现有文件系统的行为 例如 翻转从中写入 读取的每一位 在我看来 当前的jdk并没有为此提供适当的设施 AbstractFileSy
  • 想要了解 Haskell 中的递归吗?

    我现在已经使用了许多递归函数 但仍然无法理解这样的函数到底是如何工作的 我熟悉第二行 即 n 0 1 但我不太熟悉最后一行 即 n gt 0 fac n 1 n fac Int gt Int fac n n 0 1 n gt 0 fac n
  • 如何连接蓝牙 a2dp 设备?

    我正在尝试将运行 android 4 1 的 Android 设备与支持 a2dp 的音频接收器配对 我可以在蓝牙设置屏幕上毫无问题地做到这一点 但我很难在代码中做到这一点 基本上我能够发现该设备 但无法通过套接字连接到它 也许我使用了错误
  • 将 cookie 从第一个响应复制到下一个请求

    我使用 HttpRequest gt send 发送第一个 HTTP 请求 并收到带有以下 Set Cookie 标头的 302 响应 设置 Cookie SESSION SCOPE 1 路径 设置 Cookie III EXPT FILE
  • 同一 WAR 中的多个 JAX-RS 应用程序

    I have ApplicationPath resourcesP public class RestfulPrediction extends Application Override public Set
  • Postgresql regexp_matches 语法未按预期工作

    我使用 Postgres正则表达式 匹配提取数字的函数 我使用的正则表达式是 4 s 0 3 s 12 1 s d 4 如果我使用像这样的工具https regexr com https regexr com 验证它是否正常工作 我应用了以
  • NHibernate:映射列表字典

    我的班级有一个类型字段Dictionary
  • Jetty嵌入和JSP编译到1.7?

    我可以以某种方式指定jsp编译的vm的目标版本吗 我需要 1 7 而不是默认的 1 5 我有一个Web应用程序上下文 代码中的一些过滤器等 webapp 本身就是一场爆炸性的战争 因此没有使用 xml 配置 因为不需要 但似乎 为了做到这一
  • 初始包含块和视口之间的区别

    两者之间有什么区别还是相同 我认为它们指的是同一件事 但在不同的上下文中 但我不确定 所以我在这里问 初始包含块和视口虽然彼此相关 但却是两个不同的概念 视口通常是指浏览器窗口的可视区域 页面在屏幕上呈现在该区域中 初始包含块是页面内的逻辑
  • Python 2.6 聊天循环问题。无法同时接收和发送

    我正在尝试制作一个控制台聊天程序 但我的循环有问题 我无法同时获得输入和接收其他人的输入 如果一端发送了两条或更多消息 则另一端在发送一条消息之前无法接收下一条消息 我对 python 相当陌生 正在寻找正确方向的推动 我考虑过多线程 但这
  • 如何使用非 root 用户创建 postgres 容器?

    我想以非 root 用户身份运行 postgres 容器 默认情况下 该映像具有用户 postgres uid 999 当通过命令访问容器时docker exec it mycontainer bin bash 用户是root 为了使容器更