mac使用docker作为虚拟机(并成功访问docker中的服务)的一种解决方案
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Mar
前言
1. 不想安装虚拟机,所以用docker容器作为虚拟系统
2. 宿主机不能ping通docker容器(宿主机不能访问docker容器中的服务),但是反向可以。
正文
我是要运行Django项目,所以以Django项目为例子。。。。
第一步:mac安装docker
具体细节就不贴图说了。总之就是它的官网安装装 docker for mac。然后启动就可以了。
第二步:搜索你需要的基础镜像,或者自己写Dockerfile文件,构建一个镜像。
这里我用搜索的
docker search django
第三步:构建容器
这里我在桌面建立了一个工作文件夹。以后所有的项目都会放在这里。然后文件夹下面会有其他容器对应的文件。直接映射。
docker run -it --name contain_for_django -p 8000:8000 -v /Users/lovemm/Desktop/lj_docker_project/project_for_djang:/leijiang/ django
参数 -v 之后的值就是做的文件映射。
容器构建完成之后,docker ps -a
看有没有构建成功
然后启动这个容器 docker start contain_for_django
进入这个容器 docker exec -it contain_for_django bash
更新下django 的版本。因为我运行的项目是2.0的,而容器中的django是1.0的。
升级的命令我忘了。总之是用pip
第四步:实现mac访问 contain_for_django
有经验的人知道。mac 无法ping通docker容器,也就无法访问docker容器的服务。然后我在网上看到了。两种解决方案。一种是下载 virtulBox,还是要下个虚拟机,pass。一种是弄个open微屁恩,显然不考虑。pass。
我的解决方案。用natapp,内网穿透。
其实到这里已经没什么好说的了。也就是在宿主机中下载好,natapp的客户端。然后用docker cp 命令把文件复制到容器中。或者直接添加的之前映射的文件目录中。
最后的效果图
(左边运行的django,右边运行的natapp)
访问结果
最后
文中有的关于构建镜像,构建容器一块,没有截图,如果不熟悉,可以看这篇博客。这个记录的详细点
https://blog.csdn.net/qq_40020447/article/details/105607082
更多推荐
所有评论(0)