我正在嘗試使用 docker compose 來運行我的服務。但是由于某種原因,我不能呼叫例如這個命令'ls -la /home'。它給了我一個錯誤:
無法啟動服務測驗:無法創建 shim 任務:OCI 運行時創建失敗:runc > 創建失敗:無法啟動容器行程:exec:“ls /home”:stat ls /home:沒有這樣的>檔案或目錄:未知
而當我只使用“ls”時,我會看到所有目錄……怎么了?
下面是我的 docker-compose 檔案:
version: "3"
services:
mqtt_broker:
build:
dockerfile: Dockerfile
context: ./
network_mode: host
test:
depends_on: [ mqtt_broker ]
image: ubuntu:22.04
command:
- ls -la /home
network_mode: host
uj5u.com熱心網友回復:
用陣串列示法將您的命令括起來(就像在Dockerfiles中一樣),以便將它正確地連接在一起,而不是單獨解釋不同的部分。
command: [ "ls", "-la", "/home" ]
要運行多個命令,
command: ["/bin/bash", "-c", "ls -lah; whoami; hostname"]
但正如評論指出的那樣,由于這增加了復雜性,請考慮改為運行腳本。
uj5u.com熱心網友回復:
沒有命令"ls -la /home"。有ls接受-la引數和/home引數的命令。
command:
- ls
- "-la"
- /home
或者,如果您傳遞字串而不是陣列(請參閱 YAML 規范), docker-compose 將進行拆分:
command: "ls -la /home"
要不就:
command: ls -la /home
uj5u.com熱心網友回復:
可能是缺少 $PATH 問題——以下是否有效?
command:
- /bin/ls -la /home
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/510485.html
標籤:码头工人码头工人撰写
上一篇:無法遠程連接到magento
