2019mac本,本地用docker快速起来一个nginx代理服务
1.首先可以通过brew search nginx命令查看是否安装的nginx,如果安装了就不用安装了,如何想要重新安装可以用brew reinstall nginx安装。如果没有安装使用brew install nginx进行安装。
2.安装完可以通过brew list nginx命令查看有哪些目录列表方便下面的修改。
下面展示一下指令代码。
// An highlighted block
docker run -itd --name web -v /Users/yangxkb/Desktop/练习项目/foodwebsite:/usr/local/Cellar/nginx/1.21.1/html -p 8000:80 nginx
//
作用:挂载宿主机的一个目录
如:
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命令检测合约即可,既不用重新生成容器,也不需要知道容器的绝对路径从而将新合约复制进去,只需要复制到当前目录即可。