Docker USER 指定當前使用者

2021-09-29 16:12:29 字數 807 閱讀 1873

格式:user 《使用者名稱》

user 指令和 workdir 相似,都是改變環境狀態並影響以後的層。workdir 是改變工作目錄,user 則是改變之後層的執行 run, cmd 以及 entrypoint 這類命令的身份。

一、docker 使用者設定

當然,和 workdir 一樣,user 只是幫助你切換到指定使用者而已,這個使用者必須是事先建立好的,否則無法切換。

run groupadd -r redis && useradd -r -g redis redis

user redis

run [ "redis-server" ]

二、su許可權: gosu

如果以 root 執行的指令碼,在執行期間希望改變身份,比如希望以某個已經建立好的使用者來執行某個服務程序,不要使用 su 或者 sudo,這些都需要比較麻煩的配置,而且在 tty 缺失的環境下經常出錯。建議使用 gosu。

#建立 redis 使用者,並使用 gosu 換另乙個使用者執行命令

run groupadd -r redis &&

useradd -r -g redis redis

run wget -o /usr/local/bin/gosu "" \

&&chmod +x /usr/local/bin/gosu \

&& gosu nobody true

#設定 cmd,並以另外的使用者執行

cmd [

"exec", "gosu", "redis", "redis-server"

]

Magento 後台設定 指定當前選單項

當進入後台某項選單項時,希望相應的選單能高亮顯示,如下例所示 img 實現步驟 1.查詢對應模組的config.xml相關menu的項,對於上例,找到如下 cartz 71 category management cadmin category 1 確定界定符 cartz category 2.在頁...

iOS開發 判定當前系統語言

1 ios程式名稱國際化 1.2 新建後,可以看到工作目錄結構檔案如下,單擊infoplist.strings,檢視右邊的屬性,在localization欄新增語言。1.3 新增完成後開啟對應語言檔案,比如english的新增 cfbundledisplayname china chinese檔案新...

如何確定當前系統編碼方式

前言 報文在專案之間傳遞的時候出現驗籤失敗,但是列印出來的需要驗籤的字串顯示結果都是正確的 直接將傳送的位元組流 byte陣列 列印出來,發現了其中中文的byte值不一樣,初步斷定是報文在傳輸和接收時的編碼方式不一樣 但是我的兩個專案都是佈署在一台機器上的,應該不會出現此問題,接下來,一步步找出真正...