[英]Need input with passing commands in Kubernetes containers
以下三個傳遞命令/參數的聲明有什么區別:
容器:
名稱:忙箱
圖片:忙箱
參數:
-睡覺
-“1000”
容器:
名稱:忙箱
圖片:忙箱
命令:[“/bin/sh”,“-c”,“睡眠 1000”]
容器:
名稱:忙箱
圖片:忙箱
參數:
-睡覺
-“1000”
A. 這些會產生相同的結果嗎?
B. 每個人的偏好或用途是什么?
YAML 列表定義只是一個口味問題,它只是一個 YAML 語法。 這兩個例子是等價的:
listOne:
- item1
- item2
listTwo: ['item1', 'item2']
這種語法適用於args和command 。 除此之外, args和command略有不同,如文檔所述:
想象一個像mysql這樣的容器,如果你看它是 Dockerfile 你會注意到:
ENTRYPOINT ["docker-entrypoint.sh"]
CMD ["mysqld"]
入口點調用一個腳本,准備數據庫所需的一切,完成后,該腳本調用exec "$@"
和 shell 變量$@
是cmd中定義的所有內容。
因此,在 Kubernetes 上,如果您想將 arguments 傳遞給mysqld ,您可以執行以下操作:
image: mysql
args:
- mysqld
- --skip-grant-tables
# or args: ["mysqld", "--skip-grant-tables"]
這仍然會執行入口點,但現在$@
的值是mysqld --skip-grant-tables
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.