|
|
@@ -0,0 +1,39 @@ |
|
|
|
|
|
# contao-docker-test |
|
|
|
|
|
|
|
|
|
|
|
#Installation: |
|
|
|
|
|
- Go to root folder and create new image named 'spt-docker-contao' via console: `docker build -t spt-docker-contao .` |
|
|
|
|
|
- After image creation create docker containers: `docker-compose up -d` |
|
|
|
|
|
- Create a database for contao in database container: |
|
|
|
|
|
- An easy way to do so is to open up the "Database"-Tab of PhpStorm |
|
|
|
|
|
- Click on "+" -> Data Source -> MariaDB |
|
|
|
|
|
- Add a name to configuration e.g. contao-db |
|
|
|
|
|
- Host: localhost |
|
|
|
|
|
- Port: 3306 |
|
|
|
|
|
- User: root (according to database-service in docker-compose.yml) |
|
|
|
|
|
- Password: root (according to database-service in docker-compose.yml) |
|
|
|
|
|
- Once you're connected go to Query Console (icon at the top "QL") and create the database for contao |
|
|
|
|
|
- Enter the following line into the console and press the "play"-button to execute the query: |
|
|
|
|
|
- `CREATE DATABASE contao CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;` |
|
|
|
|
|
- The database name is free to chose but in this example the database name 'contao' is being used |
|
|
|
|
|
- Open [contao manager](http://localhost/contao/install) in browser after database creation in order to install contao |
|
|
|
|
|
- Step through the installation process until you get to enter the database credentials |
|
|
|
|
|
- NOTE: the 'host' isn't 'localhost' here, use the name of the database service 'database' from the docker-compose.yml |
|
|
|
|
|
- Finish the installation and have fun :) |
|
|
|
|
|
- Contao will be available here: [http://localhost/contao](http://localhost/contao) |
|
|
|
|
|
|
|
|
|
|
|
# Some important information |
|
|
|
|
|
- The database content is stored in a container which is bind-mounted to the 'db'-folder of the project |
|
|
|
|
|
- If you should renew your containers, make sure you don't delete this folder, |
|
|
|
|
|
since all database data is contained in there |
|
|
|
|
|
- Even if the container will be removed, the database data still exists in this folder and the data will be |
|
|
|
|
|
provided for the database container through the bind-mounting if you create a new database container |
|
|
|
|
|
- To enter a container e.g. the contao container run `docker exec -it contao /bin/bash`. |
|
|
|
|
|
- After this you're directly within the container and can browse through it's content via console. |
|
|
|
|
|
- If you did changes e.g. in the composer.json on your host machine (your computer - not within a container) |
|
|
|
|
|
to install or update bundles, then run e.g. `composer install` within the container |
|
|
|
|
|
- If you do changes on you host machine, these changes will be also available for the container via bind-mounting |
|
|
|
|
|
- To exit the container, simply run `exit` and you'll get back to the console of your host machine ;) |
|
|
|
|
|
|
|
|
|
|
|
# Links: |
|
|
|
|
|
- https://raphaelstaebler.medium.com/run-contao-4-inside-a-docker-container-96422278ea02 |
|
|
|
|
|
- https://github.com/wsargent/docker-cheat-sheet/blob/master/README.md |