簡體   English   中英

如何從 Dockerfile 為 OpenShift 創建具有非 root 訪問權限的映像?

[英]How to create an Image with non-root access from a Dockerfile for OpenShift?

我需要從具有非 root 權限的 docker 文件創建一個映像,因為我在我們的 OpenShift 容器平台上沒有 root 訪問權限。 我們的服務提供商禁止 Root 訪問。 當我嘗試從 docker 集線器中提取圖像時:

https://s19.directupload.net/images/191029/2vvyrpw2.jpg

容器沒有運行,因為它需要 root 訪問權限。

https://s19.directupload.net/images/191029/f42sreci.jpg

我試圖重新構建圖像並更改路徑的權限。

Docker 文件:

RUN set -x \ && chmod g+rx /usr/local/HelpSystems/GoAnywhere/jre/bin/java

我現在收到此錯誤:

/usr/local/HelpSystems/GoAnywhere/tomcat/bin/../../jre/bin/java: error while loading shared libraries: libjli.so: cannot open shared object file: No such file or directory

如何創建具有非 root 訪問權限的圖像?

默認情況下,OpenShift 不允許容器以root身份運行。 這是 Red Hat 的一項出色的安全功能。

使用Dockerfile創建 Docker 映像時,我總是創建一個non-root用戶:

  1. 在運行命令以在 Dockerfile 中執行某些操作時創建非 root 用戶 ( USER 1001 ): RUN a,b,c
  2. 在我的 Dockerfile 結束時,我將設置USER 1001 ,以便容器將以 1001 用戶身份運行,即非 root。

如果您需要一個容器以root身份運行,

  1. 從 OpenShift 平台創建映像
  2. 授予對容器的特權訪問 我不會推薦這個。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM