docker run中-v参数的用法解释

作用:挂载宿主机的一个目录

如:

# docker run -it -v /宿主机目录:/容器目录 镜像名 /bin/bash

这里-it是参数作用是:

-i: 以交互模式运行容器,通常与 -t 同时使用;

-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;

就是容器与你的终端通信输入输出。

最后的/bin/bash是command参数。

这里一开始我搞错的地方是挂载方向,因此不理解到底有何用。

要知道,这句的意思是将宿主机目录挂载到容器里,这个方向要搞清,那么剩下的作用是什么的疑惑就搞清楚了。

这里把容器想成一个单独的系统,或者说电脑,而你的宿主机目录是一个U盘,挂载后,你往宿主机该目录里放文件,那么通过容器里对应目录便可以访问到此文件,不需要重新生成容器就可以在“容器外部”添加和修改某些文件,如我用Mythri工具检测智能合约漏洞,采用docker容器如下命令:docker run -v $(pwd):/tmp mythril/myth analyze /tmp/test.sol,将宿主机当前目录挂载到容器的tmp目录,则在容器中操作时tmp目录就是当前的目录,在当期目录中新建智能合约或者改变旧的合约如test.sol的内容,再通过analyze命令检测合约即可,既不用重新生成容器,也不需要知道容器的绝对路径从而将新合约复制进去,只需要复制到当前目录即可。

这是我使用docker的一点心得,如果觉得有用请点赞,有错误请批评指正。

猜你喜欢

转载自blog.csdn.net/weixin_43756600/article/details/107881903