Docker:nginx + mariadb + php + redis的docker-compose.yml文件
我想写一个docker-compose.yml的nginx + mariadb + php + redis,
我阅读有关撰写文件,url的文档: https : //docs.docker.com/compose/compose-file/#versioning
格式是这样的:
version: '2' services: web: build: . ports: - "5000:5000" volumes: - .:/code networks: - front-tier - back-tier redis: image: redis volumes: - redis-data:/var/lib/redis networks: - back-tier volumes: redis-data: driver: local networks: front-tier: driver: bridge back-tier: driver: bridge
但是我不知道如何编写nginx + mariadb + php + redis的组合文件,我想引用一些例子。而且,我使用了Docker Hub的官方镜像,url是https://hub.docker。 COM /浏览/
** ps:**软件版本:
操作系统:centos7.2
nginx的:最新
PHP:最新
MariaDB的:最新
Redis的:最新
我会沿着这些线路去做一些事情:
version: '2' services: web: container_name: my_app build: . links: - redis - mariadb nginx: container_name: nginx image: nginx links: - my_app ports: - 80:80 - 443:443 redis: container_name: redis image: redis mariadb: container_name: mariadb image: mariadb
因此,为您的项目创build一个dockerfile,并通过添加自述文件中的文件来扩展官方PHP映像。
这个docker-compose.yml将启动你的容器并将其链接到nginx容器。 这意味着它将在my_app
主机名下提供,您将需要添加自己的nginxconfiguration将请求传递到该容器。
Redis的mariadb也将由docker-compose触发,并将在主机名redis
和mariadb
下的应用程序容器中mariadb
。
Nginx应该是主机上唯一暴露端口的容器。
上面的dockerfile不是一个完整的解决scheme,你需要添加一个nginxconfiguration,并可能在这里和那里提供一些环境variables。
我希望这有帮助。
- 一旦容器完成处理,如何自动停止虚拟机?
- 在Centos 7上安装GNOME Desktop最小化:Docker镜像
- Docker(带有SYSTEMCTL的CentOS 7):无法安装tmpfs&cgroup
- 使用Docker在Centos 7.3上安装SQL Server
- 如何用三个不同的物理服务器centos 7创builddocker container swarm负载均衡?
- Docker:事务检查错误
- 我应该创build一个虚拟机,然后使用VM内的Docker机器进行开发
- Centos 7 docker-machine“invalid argument:could not find capabilities for domaintype = kvm”
- 将主机环境variables传递给dockerfile