Docker在分离的容器中构建php + nginx + pgsql

问题描述 投票:0回答:2

我试图通过docker-compose在分隔的容器中创建一个php7 + nginx + pgsql开发环境。

这是我的docker-compose.yml

webserver:
  build: ./nginx
  ports:
    - "8888:80"
  volumes:
    - ./site.conf:/etc/nginx/conf.d/default.conf
  links:
    - php-fpm

php-fpm:
  build: ./php-fpm
  volumes:
    - /path/to/codes/:/var/www/

现在我只是错过了pgsql

如何将pgsql添加到docker-compose.yml

postgresql docker docker-compose dockerfile
2个回答
0
投票

你可能需要将它拉长一点,但你可以通过添加以下条款来实现这一点: db: image: postgres

您可能希望公开一些端口并挂载存储在pg中的数据,但这几乎就是这样。你可以在这里看一个更完整的例子(使用mysql而不是pg) - https://github.com/nezhar/wordpress-docker-compose/blob/master/docker-compose.yml

请注意,该链接使用docker compose的版本2,它的语法略有不同。


0
投票

This is a nice repository使用PHP + Nginx + PostgreSQL + Composer

您应该访问它以查看其使用的PHP,Nginx和Postgres的其他配置文件,但它的docker-compose.yml文件是这样的: 我删除了作曲家部分因为它与你的情况无关 )

version: '3'
services:
    web:
        image: nginx
        volumes:
            - ./.docker/conf/nginx/default.conf:/etc/nginx/conf.d/default.conf
            - .:/var/www/html
        ports:
            - 80:80
        restart: always
        depends_on:
            - php
            - db
    php:
        build: .docker
        restart: always
        volumes:
            - ./.docker/conf/php/php.ini:/usr/local/etc/php/conf.d/php.ini
            - ./.docker/conf/php/xdebug.ini:/usr/local/etc/php/conf.d/xdebug.ini
            - .:/var/www/html
    db:
        image: postgres:10.1
        restart: always
        environment:
            - POSTGRES_DB=${DB_NAME}
            - POSTGRES_USER=${DB_USER}
            - POSTGRES_PASSWORD=${DB_PASSWORD}
        ports:
            - 5432:5432
        volumes:
            - ./.docker/conf/postgres/:/docker-entrypoint-initdb.d/
© www.soinside.com 2019 - 2024. All rights reserved.