General developer forum

Docker images for Moodle development

 
Picture of Avi Levy
Re: Docker images for Moodle development
Group Core developers

Hi Dan,

In The last few month all ouer Dev env moved to containers, We are work with docker and docker-compose to run different env for moodle. The solution we implimented to solve the problem of container user and OS user is to change the UID of the PHP docker to the UID of the developer user. then the www-data user have the same UID as the developer so the developer and php-fpm have the full access to the files. 

You can find the php container by pull sysbind/php deocker


here is example of yaml of docker compose:

version: '2'


services:

  db:

    image: mariadb:10.0.26

    volumes: 

      - /your/workspaces/mysql/10.0.26:/var/lib/mysql

      - ./mariadb.cnf:/etc/mysql/conf.d/mariadb.cnf

    restart: always

    environment:

      MYSQL_ROOT_PASSWORD: moodleroot

      MYSQL_USER: moodleuser

      MYSQL_PASSWORD: realpassword

      MYSQL_DATABASE: moodle

    security_opt:

      - label:disable

    # DB ports need only if you want to debug DB from your host
    ports:

      - "3306:3306"

  webserver:

    image: nginx:1.10.1

    volumes:

      - ../nginx.conf:/etc/nginx/nginx.conf

      - ../virtualhost.conf:/etc/nginx/conf.d/virtualhost.conf

      - /your/workspaces/PHP:/var/www/html

      - /your/workspaces/moodledata:/var/www/moodledata

      - ../../ssl:/etc/nginx/ssl

    links:

      - db

      - php

    ports:

      - "80:80"

      - "443:443"

    security_opt:

      - label:disable

  php:

    image: sysbind/php:7.0-fpm

    volumes:

      - /your/workspaces/PHP:/var/www/html

      - /your/workspaces/moodledata:/var/www/moodledata

      - ../../php.ini:/usr/local/etc/php/php.ini

    security_opt:

      - label:disable

    links:

      - db

      - memcached

      - redis

    environment:

      # You can find it by echo $UID

      - UID=XXXX

  memcached:

    image: memcached

  redis:

    image: redis


 
Average of ratings: -