第一种,Nginx和PHP放在两个镜像中 dnmp: https://github.com/yeszao/dnmp,这个文档和配置相对比较齐全,或者直接在官方拉php和nginx的镜像,不过需要自己做挂载和连接 拉取 git clone
dnmp: https://github.com/yeszao/dnmp,这个文档和配置相对比较齐全,或者直接在官方拉php和nginx的镜像,不过需要自己做挂载和连接
拉取
git clone https://GitHub.com/yeszao/dnmp.git
执行
cd dnmp/cp env.sample .envcp Docker-compose.sample.yml docker-compose.ymldocker-compose up# 如果提示没有docker-composeapt install docker-comopose
启动容器
docker start cfedocker exec -it cfe /bin/bash
目录挂载
docker run -it -v /data/dnmp/www:/www dnmp_php /bin/sh
停止容器
docker stop cfe
第二种,nginx和php放在一个镜像中
WEBdevops/php-nginx: https://hub.docker.com/r/webdevops/php-nginx,相对官方一点的混合镜像
拉取镜像
docker pull webdevops/php-nginx
创建容器
docker run -itd --name php-nginx-xs -p 80:80 -v /data/www/:/data/www webdevops/php-nginx
进入对应容器
docker exce -it eb3 /bin/sh
可能问题
OCI runtime exec failed: exec failed: unable to start container process: exec: "/bin/bash": stat /bin/bash: no such file or directory: unknown
将 /bin/bash换成 /bin/sh成功
详解:Docker数据卷目录挂载_忆昔恋蒲荷的博客-CSDN博客_docker 挂载目录
查看
nginx -tphp -v
挂载
docker run -d -v /data/www:/data/www -p 8080:80 --privileged=true webdevops/php-nginx
-d 后台静默运行启动过程
-v /data/www:/data/www 映射宿主机数据卷到 docker 容器的目录(数据卷名称:/容器目录 )
-p 8080:80 映射宿主机的端口到 docker 容器的端口(宿主机端口:容器端口)
--privileged=true 授予权限
webdevops/php-nginx docker run 所要启动的 nginx 镜像以创建并启动容器
参考:使用docker 容器及镜像 php-nginx 部署 LNMP 环境 | 码农家园
其他
-i: 以交互模式运行容器,通常与 -t 同时使用
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
参考:docker快速搭建php7.2-nginx开发环境 - 渺小的人类 - 博客园
文档库: docker -v命令详解——挂载目录或挂载文件 - 极客库
来源地址:https://blog.csdn.net/cxs812760493/article/details/127881331
--结束END--
本文标题: docker两种模式搭建nginx+php环境
本文链接: https://lsjlt.com/news/423102.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0