I installed magento using composer:

composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition

and load sample data. It works pretty fine on localhost.

I created dockerfile and docker-compose for magento: Dockerfile:

FROM ubuntu:latest


RUN apt-get -qqy update

RUN apt-get -qqy install apache2 \
        php \
        mysql-client \
        libapache2-mod-php \
        php-pear \
        php-mcrypt \
        php-gd \
        php-curl \
        php-mysql \
        php-dom \
        php-xml \
        php-xsl \
        php-mbstring \
        php-intl \
        php-zip \
        php-cli \
        php-cgi \
        curl \
        git \
        nano \
        vim \
RUN apt-get -qqy install nodejs npm
RUN apt-get -qqy install php-fpm

RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

ADD ./20-mcrypt.ini /etc/php/7.0/cli/conf.d/20-mcrypt.ini
ADD ./20-mcrypt.ini /etc/php/7.0/apache2/conf.d/20-mcrypt.ini

RUN a2enmod rewrite

COPY ./magento2.conf /etc/apache2/sites-available/magento2.conf
#RUN rm -f /etc/apache2/sites-enabled/000-default.conf

#COPY xdebug-enabler.ini /etc/php/7.0/mods-available/

RUN php -r "echo ini_get('memory_limit').PHP_EOL;"

COPY ./apache2.conf /etc/apache2/apache2.conf

RUN a2enmod php7.0
RUN service apache2 restart

WORKDIR /var/www/html



<VirtualHost *:80>
       DocumentRoot /var/www/html
       ServerName magento2test.localhost
       <Directory /var/www/html>
        DirectoryIndex index.php index.html
            Options Indexes FollowSymLinks
            AllowOverride All
            Order allow,deny
            allow from all


# The accept serialization lock file MUST BE STORED ON A LOCAL DISK.
Mutex file:${APACHE_LOCK_DIR} default


Timeout 300

KeepAlive On

MaxKeepAliveRequests 100

KeepAliveTimeout 5

HostnameLookups Off

ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn

# Include module configuration:
IncludeOptional mods-enabled/*.load
IncludeOptional mods-enabled/*.conf

# Include list of ports to listen on
Include ports.conf

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Require all denied

<Directory /usr/share>
    AllowOverride None
    Require all granted

<Directory /var/www/>
    Options +Indexes +FollowSymLinks +Multiviews
    allowOverride  all
    Require all granted

<IfModule dir_module>
    DirectoryIndex index.php index.php3 index.html index.htm

AccessFileName .htaccess

<FilesMatch "^\.ht">
    Require all denied

LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %O" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent

IncludeOptional conf-enabled/*.conf

IncludeOptional sites-enabled/*.conf

and finaly docker-compose:

  build: docker-files/apache-xdebug
  command: rm -f /var/run/apache2/apache2.pid
  command: apachectl -D FOREGROUND
    - "8081:8081"
    - "80:80"
    - "9001:9001"
    - "443:443"
    -  ./project/:/var/www/html/

Now it is only one image cause im using remote mysql and I will add more images later.

Anyway I'm able to build and up docker. I'm able to install and setup magento. Of course I tried flush all cache, and done all of those comands (using docker exec -it container_name bash:

php  bin/magento setup:static-content:deploy
php bin/magento indexer:reindex
php bin/magento setup:upgrade --keep-generated
php bin/magento module:enable --all
php bin/magento setup:di:compile

But style.css and some js are not loading property: enter image description here


[2016-11-17 07:27:39] main.INFO: Cache file with merged layout: LAYOUT_frontend_STORE1_2ae0e2a835d549823c9720ea0833000d3 and handles default, catalog_category_view, catalog_category_view_type_default, catalog_category_view_type_default_without_children, catalog_category_view_id_39: Please correct the XML data and try again.  [] []
[2016-11-17 07:27:39] main.INFO: Cache file with merged layout: LAYOUT_frontend_STORE1_2a7ccd8094436548b564a588f6303121c and handles 2columns-left: Please correct the XML data and try again.  [] []
[2016-11-17 07:27:40] main.INFO: Cache file with merged layout: LAYOUT_frontend_STORE1_26f1b068ec7ccf4878f9284dd1137afd1 and handles catalog_product_prices: Please correct the XML data and try again.  [] []

Do You have any ideas hot can I fix it?

  • Also I cant appy permisions for project on run container. It won' t apply. May it be because of Windows? Commented Nov 21, 2016 at 7:29
  • Have you enabled Developer mode? Check if chmod settings are right!
    – Max
    Commented Aug 28, 2021 at 18:22
  • Hey its 5 years old topic :d developer mode was enabled with correct permissions ;) But now I just dont remember what the problem was Commented Aug 31, 2021 at 7:23

1 Answer 1


Run these commands below to enable the developer mode, clean cache and all the routine process, these commands resolved this issue here and other 90% of the cases.

alias mage="php -d memory_limit=-1 -f bin/magento"
mage deploy:mode:set developer
chmod -R 777 pub/static/ var/ pub/media/ &&
rm -rf var/view_preprocessed/ var/cache/ var/page_cache/ var/tmp/ var/generation/ pub/static/frontend/ ;
mage cache:disable && 
mage cache:clean &
mage cache:flush &
mage indexer:reindex &
mage setup:upgrade &&
mage setup:static-content:deploy ; mage setup:static-content:deploy -f;
mage setup:db-data:upgrade &&
mage dev:source-theme:deploy &&
chmod -R 777 pub/static/ pub/media/ var/
  • Hey, thanks for answer but it didn't help. Solution for me was fix docker file a bit. Ill upload it later Commented Apr 10, 2017 at 9:00
  • what was your fix? same issue here..
    – Andrew
    Commented Nov 22, 2017 at 17:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.