Diese Präsentation wurde erfolgreich gemeldet.

Dockerize magento 2 24.02.2016

3

Teilen

Wird geladen in …3
×
1 von 13
1 von 13

Dockerize magento 2 24.02.2016

3

Teilen

A brief introduction on how to run Magento 2 within docker. This slides explane how to install Magento 2 with composer, boot up all needed docker containers and run them on your local environment. This slides were presented at the magento-meetup-wien.

A brief introduction on how to run Magento 2 within docker. This slides explane how to install Magento 2 with composer, boot up all needed docker containers and run them on your local environment. This slides were presented at the magento-meetup-wien.

Weitere Verwandte Inhalte

Ähnliche Bücher

Kostenlos mit einer 14-tägigen Testversion von Scribd

Alle anzeigen

Ähnliche Hörbücher

Kostenlos mit einer 14-tägigen Testversion von Scribd

Alle anzeigen

Dockerize magento 2 24.02.2016

  1. 1. Dockerize Magento 2 Ing. Mag. Andreas Pointner
  2. 2. Andreas Pointner ● Business Informatics @ JKU ● Magento Developer since 2008 ● Certification 2014 github.com/copex hub.docker.com/u/copex/ copex.io 2
  3. 3. Docker ● Containerize ● Use the same container in ○ Production ○ Staging ○ Development ● Scalable ● Limit ressources ● Link the containers with docker-compose 3
  4. 4. Why Docker? ● No data overhead compared to vagrant ● No rsync or nfs-mount needed for development environment ○ Union File System ● Extremely fast development and environment setup ● Same behaviour everywhere ● Server provisioning becomes unnecessary ● Roll out tested server updates within seconds to all your clients ● Ability to cluster containers across multiple servers ● Test very complex server setup locally 4
  5. 5. Which containers do we need? ● APP ○ PHP-FPM ○ Nginx (Apache) ● Mysql (Mariadb) ● Cron ? ● Redis ? ○ Cache ○ Session ● Varnish ? 5
  6. 6. APP - PHP ● PHP-5.6 apt-get --no-install-recommends -y --force-yes install php5-mysql php5-imagick php5-mcrypt php5-curl php5-cli php5-memcache php5-intl php5-gd php5-redis php5-xsl php5-intl curl 6
  7. 7. APP - Nginx FROM copex/php apt-get --no-install-recommends -y --force-yes install nginx php5-fpm ● runit ● SSL-Support ● dev ○ mailcatcher ○ xdebug ○ mysql-client 7
  8. 8. Docker-Compose - app app: image: copex/nginx-php-fpm:dev ports: - "80:80" - "443:443" - "1080:1080" links: - "mysql:mysql" environment: DOMAIN: magento2.local MAGENTO_ROOT: /var/www/htdocs MAGENTO_DEVELOPERMODE: 0 volumes_from: - data 8
  9. 9. Docker-Compose - Database mysql: image: mariadb environment: MYSQL_ROOT_PASSWORD: "r00t" MYSQL_USER: "magento" MYSQL_PASSWORD: "magento" MYSQL_DATABASE: "magento" volumes_from: - dbdata ports: - "3306:3306" 9
  10. 10. Docker Compose - Data & Cron data: image: tianon/true volumes: - .:/var/www - ./config/nginx/site-templates/:/etc/nginx/sites-templates/ dbdata: image: tianon/true volumes: - /var/lib/mysql cron: image: copex/cron links: - "mysql:mysql" volumes_from: - data 10
  11. 11. Composer.json { "name": "copex/magento2-skeleton", "type": "project", "authors": [ { name": "Andreas Pointner","email": "andreas.pointner@copex.io", "homepage": "http://copex.io/" } ], "repositories": [ {"type": "composer", "url": "https://repo.magento.com/" }], "require": { "magento/product-community-edition": "2.0.2", "n98/magerun2": "dev-master" }, "autoload": { "psr-4": { "MagentoFramework": "lib/internal/Magento/Framework/", "MagentoSetup": "setup/src/Magento/Setup/", "Magento": "app/code/Magento/" }, … }, "scripts": { ... }, "minimum-stability": "dev", "prefer-stable": true, "extra": { "magento-force": "override" } } 11
  12. 12. Start & Install Magento ● composer install ● docker-compose up -d ● docker exec -it magento2demo_app_1 bin/n98-magerun2 install --useDefaultConfigParams=yes --installationFolder="." --dbHost=mysql --dbUser=magento --dbPass=magento --dbName=magento --baseUrl=http://magento2.local/ --noDownload --forceUseDb=true ● sudo chgrp www-data -Rf pub/media pub/static var && sudo chmod 775 -Rf pub/media pub/static var 12
  13. 13. Thanks! Questions? 13 https://copex.io/blog/tag/docker/

×