dockerfile基于NMP+wordpress创建镜像

|-------|--------------|--------------|
| | 内部通信地址 | |
| nginx | 172.111.0.10 | docker-nginx |
| mysql | 172.111.0.20 | docker-mysql |
| php | 172.111.0.30 | docker-php |

1、创建单独目录

2、创建容器的自定义网络

docker network create --subnet=172.111.0.0/16 --opt "com.docker.network.bridge.name"="docker1" mynetwork

3、dockerfile自定义镜像

(1)nginx镜像

①准备好nginx的配置文件

②创建nginx基础镜像

③构建nginx镜像

docker build -t nginx:lnmp .

④创建nginx容器

docker run -itd --name nginx -p 80:80 -v /opt/nginx:/opt/nginxlogs --net mynetwork --ip 172.111.0.10 nginx:lnmp

/opt/nginx宿主机的目录

/opt/nginxlogs容器的目录

⑤测试

(2)mysql镜像

①准备好mysql的配置文件

②创建mysql镜像

③构建mysql镜像

docker build -t mysql:lnmp .

④创建mysql容器(一定要给权限)

docker run -itd --name mysql -p 3306:3306 --privileged -v /opt/mysql:/opt/mysql --net mynetwork --ip 172.111.0.20 mysql:lnmp

⑤测试

(3)php镜像

①准备好php的配置文件

②创建php镜像

③构建php镜像

docker build -t php:lnmp .

④创建php容器(解析php文件,需要挂载nginx和mysql)

docker run -itd --name php -p 9000:9000 --volumes-from nginx --volumes-from mysql --net mynetwork --ip 172.111.0.30 php:lnmp

⑤测试

浏览器访问http://20.0.0.16/wordpress/index.php

问题:无法写入php文件

原因:nginx的html没有赋权

解决:创建nginx容器时赋权

相关推荐
AI攻城狮10 小时前
OpenClaw 里 TAVILY_API_KEY 明明写在 ~/.bashrc,为什么还是失效?一次完整排查与修复
人工智能·云原生·aigc
阿里云云原生1 天前
零配置部署顶级模型!函数计算一键解锁 Qwen3.5
云原生
AI攻城狮1 天前
Kimi Bot + OpenClaw 完整配置指南:5 步实现本地 AI Agent 集成
人工智能·云原生·aigc
AI攻城狮2 天前
RAG Chunking 为什么这么难?5 大挑战 + 最佳实践指南
人工智能·云原生·aigc
哈里谢顿4 天前
Kubernetes Operator核心概念、实现原理和实战开发
云原生
阿里云云原生4 天前
你的 OpenClaw 真的在受控运行吗?
云原生
阿里云云原生4 天前
5 分钟零代码改造,让 Go 应用自动获得全链路可观测能力
云原生·go
Shanyoufusu124 天前
RKE2 单节点集群安装 Rancher+ 私有镜像仓库搭建 完整教程
云原生
阿里云云原生4 天前
Dify 官方上架 Higress 插件,轻松接入 AI 网关访问模型服务
云原生
AI攻城狮4 天前
OpenClaw Session 管理完全指南:Context 压缩、重置与持久化
人工智能·云原生·aigc