[英]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.