Mac Docker本地多容器映射

1、 docker多容器链接,通过我们下载的nginx镜像以及PHP镜像通过link链接到一起,方便我们之后切换PHP版本
2、 首先在link链接的时候对于命令的不熟悉,出了很多错误,http://showdoc.ichongzh.com/web/#/2?page_id=29,这是文档地址,通过文档了解到,首先需要运行php容器,然后在运行我们的nginx,将php容器链接到我们的nginx容器
3、 安装docker,https://download.docker.com/mac/stable/Docker.dmg,下载docker并安装,安装成功之后可以在命令行进行操作
4、 docker images 查看我们已下载的docker镜像
在这里插入图片描述
https://hub.docker.com/_/docker docker hub,用来搜索镜像
在这里插入图片描述
点击进去,复制下方的话,就可以pull下来我们需要的镜像
在这里插入图片描述
在这里插入图片描述

5、 docker ps 查看运行的容器
在这里插入图片描述
开始的时候下载的PHP镜像生成容器之后,docker ps 查看一直没有,试了很久发现下载的php镜像时间太早,四年前的,所以重新下了一个最近的,运行之后就可以看到容器了
6、 运行PHP
docker run --name php5.6 -v /Applications/MAMP/htdocs/directory:/data/www -d fad7b4a27c7b
docker run --name 生成的容器名称 -v 我们本地的项目:映射到PHP中的文职 -d 镜像名称或id
directory就是我们项目的文件目录名称

运行nginx
docker run --name nginx -p 8888:80 -v /Applications/MAMP/htdocs/directory:/usr/share/nginx/html --link php5.6:php5.6 -d nginx

docker run --name 生成的容器名称 -p(端口) nginx端口:nginx端口映射我们本地的端口 -v 本地项目:nginx中项目所处的位置 --link(链接) PHP容器名称:起的别名 -d nginx
7、 docker exec -it nginx /bin/bash 进入容器,nginx 容器名称
cat /etc/nginx/conf.d/default.conf 查看nginx配置文件
一开始容器链接成功之后一直是403或404,发现只可以访问.html文件,找到原因是PHP并没有链接成功,原因就是在 nginx中,PHP的配置有问题
在这里插入图片描述

8、 又是后配置文件包括之前的各种处理都完成之后,进入nginx容器,
docker exec -it name(nginx容器名称) /bin/bash
cd /usr/share/nginx/html 发现该文件夹下并没有任何文件,意思就是本地文件并没有链接到我们容器中,这时很大的可能就是因为 mac限制了我们共享文件的权限,这里需要我们去进行配置一下
打开我们的docker软件版,点击preferences在这里插入图片描述
在这里插入图片描述
点击3中的 + 号,添加我们需要映射的文件夹路径,这样就可以解决映射失败的问题了。

注意⚠️:
当我们在nginx中安装vim,apt-get install vim失败之后,
需要先进行更新:apt-get update,
然后再 apt-get install vim
当运行apt-get update后出现如下错误时:
E: Some index files failed to download, they have been ignored, or old ones used instead.
可以将目录下/var/lib/apt/lists/partial/所有的文件清掉,
再次运行apt-get update即可!
这时就可以正常进行安装了

运行之后显示不支持MYSQL或是REDIS就说明PHP中并没有安装该扩展,需要进入PHP容器中安装扩展就好了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值