簡體   English   中英

嘗試創建已裝入卷的容器時出錯

[英]Error when trying to create container with mounted volume

我正在嘗試在容器上安裝卷,以便可以訪問正在運行容器的服務器上的文件。 使用命令

docker run -i -t 188b2a20dfbf -v /home/user/shared_files:/data ubuntu /bin/bash

導致錯誤

docker: Error response from daemon: OCI runtime create failed:
container_linux.go:296: starting container process caused "exec: \"-v\": 
executable file not found in $PATH": unknown.

我不確定在這里做什么。 基本上,我需要能夠從主機服務器訪問腳本和一些數據文件。

docker命令行是順序敏感的。 在映像名稱之后,傳遞的所有內容都是在容器內運行的命令。 對於docker,將run命令之后與預期參數不匹配的第一件事假定為映像名稱:

docker run -i -t 188b2a20dfbf -v /home/user/shared_files:/data ubuntu /bin/bash

嘗試在圖像188b2a20dfbf內部運行-v命令,因為-t沒有值。

docker run -i -t  -v /home/user/shared_files:/data 188b2a20dfbf /bin/bash

那將在同一圖像188b2a20dfbf中運行bash

如果您想在ubuntu中運行命令(從您的示例中並不清楚要執行的操作),請從命令中刪除188b2a20dfbf映像名稱:

docker run -i -t -v /home/user/shared_files:/data ubuntu /bin/bash

顯然,在.go腳本的第296行中,您引用的是找不到的東西。 檢查環境變量以查看它們是否包含該文件的路徑,該文件是否完全包含在卷中,等等。

傳遞給-t 188b2a20dfbf是不正確的。 -t用於獲取容器的偽TTY終端:

$ docker run --help
...
-t, --tty         Allocate a pseudo-TTY

運行docker run -i -t -v /home/user/shared_files:/data ubuntu /bin/bash 這個對我有用:

$ echo "test123" > shared_files

$ docker run -i -t -v $(pwd)/shared_files:/data ubuntu /bin/bash
root@4b426995e373:/# cat /data 
test123

暫無
暫無

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

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