前言

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

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐