From d3825c660f18e63e7a369be2edb197a658f33a1a Mon Sep 17 00:00:00 2001 From: Fu Cheng Date: Wed, 25 Oct 2017 21:18:37 +1300 Subject: [PATCH 1/3] Update master branch Magento to 2.2.0 --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index b0b1bff72..708081d94 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,7 +4,7 @@ MAINTAINER Fu Cheng RUN a2enmod rewrite -ENV MAGENTO_VERSION 2.1.1 +ENV MAGENTO_VERSION 2.2.0 RUN rm -rf /var/www/html/* RUN cd /tmp && curl https://codeload.github.com/magento/magento2/tar.gz/$MAGENTO_VERSION -o $MAGENTO_VERSION.tar.gz && tar xvf $MAGENTO_VERSION.tar.gz && mv magento2-$MAGENTO_VERSION/* magento2-$MAGENTO_VERSION/.htaccess /var/www/html From dee63acde29ff08a6c37d3ecb98c5a0f0e8e3c2f Mon Sep 17 00:00:00 2001 From: Fu Cheng Date: Thu, 26 Oct 2017 08:47:59 +1300 Subject: [PATCH 2/3] Update README and docker compose file Update to docker compose 3.0 --- README.md | 34 +++++++++++++++++++++++++++++++++- docker-compose-dev.yml | 14 ++++++-------- docker-compose.yml | 25 +++++++++++++++++++++++++ 3 files changed, 64 insertions(+), 9 deletions(-) create mode 100644 docker-compose.yml diff --git a/README.md b/README.md index 6f92ba4e5..24078fee1 100644 --- a/README.md +++ b/README.md @@ -6,4 +6,36 @@ This repo converts the [long installation guide](http://devdocs.magento.com/guides/v1.0/install-gde/bk-install-guide.html) of Magento 2 into simple Docker image to use. It uses the same convention as my [Docker image for Magento 1.x](https://github.com/alexcheng1982/docker-magento). -For documentation, please refer to the Magento 1.x [repo](https://github.com/alexcheng1982/docker-magento). These two Docker images follow the same instructions. +For documentation, please refer to the Magento 1.x [repo](https://github.com/alexcheng1982/docker-magento). These two Docker images follow the same instructions. + +Below are some basic instructions. + +## Quick start + +The easiest way to start using Magento 2 is [Docker Compose](https://docs.docker.com/compose/). + +~~~ +$ docker-compose up -d +~~~ + +For admin username and password, please refer to the file `env`. You can also update the file `env` to update those configurations. + +## Installation + +### Sample data + +**Please note** Not working for Magento 2.2.0 yet. + +~~~ +$ docker exec -it install-sampledata +~~~ + +### Magento 2 + +~~~ +$ docker exec -it install-magento +~~~ + +### DB + +The default `docker-compose.yml` uses MySQL as the database and starts [phpMyAdmin](https://www.phpmyadmin.net/). The default URL for phpMyAdmin is `http://localhost:8085`. Use MySQL username and password to log in. \ No newline at end of file diff --git a/docker-compose-dev.yml b/docker-compose-dev.yml index 381425ba6..dafc53b9e 100644 --- a/docker-compose-dev.yml +++ b/docker-compose-dev.yml @@ -1,4 +1,4 @@ -version: '2' +version: '3.0' services: web: build: . @@ -10,18 +10,16 @@ services: - env db: image: mysql:5.6.23 - volumes_from: - - dbdata + volumes: + - db-data:/var/lib/mysql/data env_file: - env - dbdata: - image: alexcheng/data - volumes: - - /var/lib/mysql phpmyadmin: image: phpmyadmin/phpmyadmin container_name: phpmyadmin ports: - "8580:80" links: - - db + - db +volumes: + db-data: \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 000000000..4339c7de0 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,25 @@ +version: '3.0' +services: + web: + image: alexcheng/magento2 + ports: + - "80:80" + links: + - db + env_file: + - env + db: + image: mysql:5.6.23 + volumes: + - db-data:/var/lib/mysql/data + env_file: + - env + phpmyadmin: + image: phpmyadmin/phpmyadmin + container_name: phpmyadmin + ports: + - "8580:80" + links: + - db +volumes: + db-data: \ No newline at end of file From 649398c07591c09569fd927570bc40b262ed73c9 Mon Sep 17 00:00:00 2001 From: Fu Cheng Date: Thu, 26 Oct 2017 21:26:10 +1300 Subject: [PATCH 3/3] update readme to add FAQ and more docs --- README.md | 57 +++++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 49 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 24078fee1..9728a704a 100644 --- a/README.md +++ b/README.md @@ -12,16 +12,45 @@ Below are some basic instructions. ## Quick start -The easiest way to start using Magento 2 is [Docker Compose](https://docs.docker.com/compose/). +The easiest way to start Magento 2 with MySQL is using [Docker Compose](https://docs.docker.com/compose/). Just clone this repo and run following command in the root directory. The default `docker-compose.yml` uses MySQL and phpMyAdmin. ~~~ $ docker-compose up -d ~~~ -For admin username and password, please refer to the file `env`. You can also update the file `env` to update those configurations. +For admin username and password, please refer to the file `env`. You can also update the file `env` to update those configurations. Below are the default configurations. + +~~~ +MYSQL_HOST=db +MYSQL_ROOT_PASSWORD=myrootpassword +MYSQL_USER=magento +MYSQL_PASSWORD=magento +MYSQL_DATABASE=magento + +MAGENTO_LANGUAGE=en_GB +MAGENTO_TIMEZONE=Pacific/Auckland +MAGENTO_DEFAULT_CURRENCY=NZD +MAGENTO_URL=http://local.magento + +MAGENTO_ADMIN_FIRSTNAME=Admin +MAGENTO_ADMIN_LASTNAME=MyStore +MAGENTO_ADMIN_EMAIL=amdin@example.com +MAGENTO_ADMIN_USERNAME=admin +MAGENTO_ADMIN_PASSWORD=magentorocks1 +~~~ + +For example, if you want to change the default currency, just update the variable `MAGENTO_DEFAULT_CURRENCY`, e.g. `MAGENTO_DEFAULT_CURRENCY=USD`. ## Installation +After starting the container, you'll see the setup page of Magento 2. You can use the script `install-magento` to quickly install Magento 2. The installation script uses the variables in the `env` file. + +### Magento 2 + +~~~ +$ docker exec -it install-magento +~~~ + ### Sample data **Please note** Not working for Magento 2.2.0 yet. @@ -30,12 +59,24 @@ For admin username and password, please refer to the file `env`. You can also up $ docker exec -it install-sampledata ~~~ -### Magento 2 +### Database -~~~ -$ docker exec -it install-magento -~~~ +The default `docker-compose.yml` uses MySQL as the database and starts [phpMyAdmin](https://www.phpmyadmin.net/). The default URL for phpMyAdmin is `http://localhost:8085`. Use MySQL username and password to log in. + +## FAQ + +### Where is the database? + +Magento 2 cannot run with a database. This image is for Magento 2 only. It doesn't contain MySQL server. MySQL server should be started in another container and linked with Magento 2 container. It's recommended to use Docker Compose to start both containers. You can also use [Kubernetes](https://kubernetes.io/) or other tools. + +### Why accessing http://local.magento? + +For development and testing in the local environment, using `localhost` as Magento 2 URL has some issues. The default `env` file use `http://local.magento` as the value of `MAGENTO_URL`. You need to [edit your `hosts` file](https://support.rackspace.com/how-to/modify-your-hosts-file/) to add the mapping from `local.magento` to `localhost`. You can use any domain names as long as it looks like a real domain, not `localhost`. + +### How to update Magento 2 installation configurations? -### DB +Depends on how the container is used, -The default `docker-compose.yml` uses MySQL as the database and starts [phpMyAdmin](https://www.phpmyadmin.net/). The default URL for phpMyAdmin is `http://localhost:8085`. Use MySQL username and password to log in. \ No newline at end of file +* When using the GUI setup page of Magento 2, update configurations in the UI. +* When using the script, update configurations in the `env` file. +* When starting Magento 2 as a standalone container, use `-e` to pass environment variables.