Настройка docker для php, пн go и composer - PullRequest
0 голосов
/ 16 июня 2020

Моя цель - настроить среду для создания приложения basi c php, которое использует mon go в качестве базы данных. Я использую простой php с composer. Вот что я сделал до сих пор: это мой docker -compose.yml

version: '3.6'

services:

  mongo:
    image: mongo:4.2
    container_name: mongo
    environment:
      MONGO_INITDB_ROOT_USERNAME: user
      MONGO_INITDB_ROOT_PASSWORD: password
      MONGO_INITDB_DATABASE: database
    ports:
      - "27017:27017"

  api:
    #this tells docker where to look for the Dockerfile to build the image
    build: ./api
    #name of your container and also the DNS name (nginx will proxy pass to this container from localhost:8000 when using a browser or Postman)
    container_name: api
    restart: always
    #volumes creates persistent storage in your containers
    volumes:
      #copy our php files
      - ./api:/var/www/html/
    #EXPOSE defines the ports reachable from INSIDE your docker network
    expose:
     - 80

  composer:
    restart: 'no'
    image: composer/composer:php7.2
    command: install
    volumes:
      - ./api:/var/www/html/

  nginx:
    build: ./nginx
    container_name: nginx
    restart: always
    #PORTS defines ports reachable from the outside world, like a browser or other clients
    ports:
      - "8000:8000"

А это файл docker внутри api:

FROM php:7.2-apache

RUN apt-get update; \
    apt-get install openssl libssl-dev libcurl4-openssl-dev -y; \
    pecl install mongo; \
    echo "extension=mongo.so" > /usr/local/etc/php/conf.d/mongo.ini

my Конфигурация nginex, которая находится в папке nginx:

server {
    listen 8000;
    location / {
        proxy_pass http://api:80;
    }
}

В основном я хочу получить доступ к моему index. php файл на localhost: порт 8000, а также мне нужно иметь возможность подключиться к mongodb.

...