在docker中,“run-v”的意思是“將宿主機(jī)的目錄掛載到容器里”,語法為“docker run -v /宿主機(jī)目錄:/容器目錄”;run命令用于創(chuàng)建一個(gè)新的容器并運(yùn)行一個(gè)命令,“-v”參數(shù)用于綁定一個(gè)容器目錄。
本教程操作環(huán)境:linux7.3系統(tǒng)、docker-1.13.1版、Dell G3電腦。
docker中run-v是什么意思
docker run :創(chuàng)建一個(gè)新的容器并運(yùn)行一個(gè)命令
語法為:
docker?run?[OPTIONS]?IMAGE?[COMMAND]?[ARG...]
–volume , -v:?綁定一個(gè)卷
作用:掛載宿主機(jī)的一個(gè)目錄
如:
#?docker?run?-it?-v?/宿主機(jī)目錄:/容器目錄?鏡像名?/bin/bash
這里-it是參數(shù)作用是:
-i:?以交互模式運(yùn)行容器,通常與 -t 同時(shí)使用;
-t:?為容器重新分配一個(gè)偽輸入終端,通常與 -i 同時(shí)使用;
就是容器與你的終端通信輸入輸出。
最后的/bin/bash是command參數(shù)。
這里把容器想成一個(gè)單獨(dú)的系統(tǒng),或者說電腦,而你的宿主機(jī)目錄是一個(gè)U盤,掛載后,你往宿主機(jī)該目錄里放文件,那么通過容器里對應(yīng)目錄便可以訪問到此文件,不需要重新生成容器就可以在“容器外部”添加和修改某些文件,如我用Mythri工具檢測智能合約漏洞,
采用docker容器如下命令:
docker?run?-v?$(pwd):/tmp?mythril/myth?analyze?/tmp/test.sol,
將宿主機(jī)當(dāng)前目錄掛載到容器的tmp目錄,則在容器中操作時(shí)tmp目錄就是當(dāng)前的目錄,在當(dāng)期目錄中新建智能合約或者改變舊的合約如test.sol的內(nèi)容,再通過analyze命令檢測合約即可,既不用重新生成容器,也不需要知道容器的絕對路徑從而將新合約復(fù)制進(jìn)去,只需要復(fù)制到當(dāng)前目錄即可。
推薦學(xué)習(xí):《docker視頻教程》