簡體   English   中英

Docker:Nginx + mariadb + php + redis的docker-compose.yml文件

[英]Docker: docker-compose.yml file of nginx+mariadb+php+redis

我想寫一個nginx + mariadb + php + redis的docker-compose.yml,
我閱讀了有關compose-file,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的官方鏡像,網址: https://hub.docker。 com / explore /

** ps:**軟件版本:
操作系統:centos7.2
nginx:最新
php:最新
mariadb:latest
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

因此,為您的項目創建一個dockerfile,並通過添加文件(如自述文件)來擴展官方PHP映像。

該docker-compose.yml將啟動您的容器並將其鏈接到nginx容器。 這意味着它將在my_app主機名下可用,並且您需要添加自己的nginx配置,以將請求傳遞到該容器。

Redis mariadb也將由docker-compose觸發,並將在主機名redismariadb下的應用程序容器中mariadb

Nginx應該是唯一在主機上暴露端口的容器。

上面的dockerfile並不是一個完整的解決方案,您將需要添加nginx配置,並且可能在各處提供一些環境變量。

我希望這有幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM