Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release v1.0.0: Docker volumes (breaking changes) #383

Merged
merged 6 commits into from
Feb 10, 2019

Conversation

cytopia
Copy link
Owner

@cytopia cytopia commented Sep 22, 2018

Docker volumes

READFIRST

This branch is constantly being rebased from master until final merge, therefore requires git force pushing. Keep this in mind when checking it out via git.

Feedback

To move on faster and pain-free, please try out this branch and provide your Feedback. I will update the description correspondingly.

  • Tested on Linux
  • Tested on Windows (native)
  • Tested on MacOS (native)
  • Tested on Windows (Docker Toolbox)
  • Tested on MacOS (Docker Toolbox)

Also ensure the following has been done:

  • Ensure that named volumes have their own configuration for mount options (similar to MOUNT_OPTIONS)

Notes on this PR

This PR will be merged into release/v1.0.0

DESCRIPTION

This PR will move all data directories (MySQL, PostgreSQL, MongoDB and others) to Docker volumes for best-practice and compatibility reasons on different operating systems.

This is mainly a huge step for Windows user as they seem to have issues with current Docker mounts over and over again. However it should also generally increase performance for all other systems.

IMPORTANT

When using this branch, you will loose all you current data for MySQL, PostgreSQL and MongoDB, so ensure to make a backup first.

Once you have backed up everything, start the Devilbox from this branch and import your data.

Fixes

Usage

Stop the Devilbox

docker-compose stop
docker-compose rm

Update Git and change to the new branch

git fetch --all --prune
git checkout docker-volumes
git pull origin docker-volumes

Compare env-example with .env for changes

Start the Devilbox

docker-compose up

@cytopia cytopia self-assigned this Sep 22, 2018
@cytopia cytopia changed the title Docker volumes Breaking Changes: Docker volumes Sep 30, 2018
@cytopia cytopia force-pushed the docker-volumes branch 3 times, most recently from 6c4c292 to b070437 Compare November 3, 2018 14:25
@cytopia cytopia changed the base branch from master to release/v1.0.0 November 4, 2018 06:30
@cytopia cytopia changed the title Breaking Changes: Docker volumes Release v1.0.0: Docker volumes (breaking changes) Nov 4, 2018
@cytopia cytopia added this to the 1.0 milestone Nov 4, 2018
@cytopia cytopia mentioned this pull request Nov 6, 2018
4 tasks
@fkaminski
Copy link

fkaminski commented Jan 11, 2019

I can confirm this - branch tested with:

  • Tested on Windows ( Docker Toolbox with version v18.09.0 )

Question: But why we need the use of Docker Volumes here at all?

Before i test devilbox i am using this repo for my favorite CMS contao.org:
https://github.com/ctsmedia/docker-contao/blob/master/docker-compose.yml

The "db" service uses just the mysql image.
For Import/Export one could use phpmyadmin or "docker exec" with mysqldump or mysql commands ...

@cytopia
Copy link
Owner Author

cytopia commented Jan 11, 2019

Awesome, thanks @fkaminski!

This branch is currently a bit behind due to many fixes on master. I will update this during the weekend.

Note: I will rebase master into this one (to keep history more clean), this is going to be a force push.

@cytopia cytopia mentioned this pull request Jan 15, 2019
6 tasks
@mrpsiho
Copy link

mrpsiho commented Jan 16, 2019

Confirm that:

  • Tested on MacOS (native) (Docker 2.0.0.2)

It works for me.

@cytopia
Copy link
Owner Author

cytopia commented Jan 17, 2019

@mrpsiho Thanks for the feedback!

@cytopia
Copy link
Owner Author

cytopia commented Jan 17, 2019

@fkaminski @mrpsiho I've rebased latest master into this branch and force-pushed the changes.

@fkaminski
Copy link

I've rebased latest master into this branch and force-pushed the changes.

Thanks, now i cannot call phpmyadmin - seems like the #342 issue.
When i change ".devilbox/www/htdocs/vendor/phpmyadmin-4.8/config.inc.php" to readonly again -
then it works ...

@fkaminski
Copy link

fkaminski commented Jan 18, 2019

Beside that -
the autodns feature do work here also with docker toolbox and Virtualbox port forwarding mentioned in
#411 (comment)

@cytopia cytopia mentioned this pull request Jan 29, 2019
@cytopia
Copy link
Owner Author

cytopia commented Jan 30, 2019

Thanks, now i cannot call phpmyadmin - seems like the #342 issue.
When i change ".devilbox/www/htdocs/vendor/phpmyadmin-4.8/config.inc.php" to readonly again -
then it works ...

@fkaminski thanks for the info. I am fixing it and also adding a CI check to ensure this error will never get back into the git repository: #488

FYI: I cannot add file permissions to git except for executable or not executable, so I will have to add $cfg['CheckConfigurationPermissions'] = false; to make sure it works everywhere.

@cytopia cytopia force-pushed the release/v1.0.0 branch 2 times, most recently from 224de4a to 11f861e Compare February 6, 2019 19:01
@cytopia
Copy link
Owner Author

cytopia commented Feb 10, 2019

Work on Docker Volumes will be prioritized and to ensure backwards compatibility with current users tagged separately on the Release branch, hence v0.x and v1.x will co-exist simultaneously until everything has been furnished.

@cytopia cytopia merged commit 963049f into release/v1.0.0 Feb 10, 2019
@cytopia
Copy link
Owner Author

cytopia commented Feb 10, 2019

Use the following branch (which wil also receive tagging): #416

@cytopia cytopia deleted the docker-volumes branch February 10, 2019 14:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants