-
-
Save elserhumano/a128dc9ec22f989ed243b972f00d06f5 to your computer and use it in GitHub Desktop.
Docker orchestra
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Data instances should already be there... but this is how they were made: | |
| docker run -v /var/lib/mysql --name=gnl-db-data busybox true | |
| docker run -v /srv/www -v /etc/nginx/sites-enabled --name=gnl-www-data busybox true | |
| # DB instance uses gnl-db-data volume. | |
| docker run -d --volumes-from=gnl-db-data --name=gnl-db bnchdrff/mariadb | |
| # Backend PHP/nginx links to db instance & also offers ssh access for dirty admin tasks. gnl-www-data has files. | |
| docker run -d -p 2222:22 --link=gnl-db:db --volumes-from=gnl-www-data --name=gnl-backend bnchdrff/nginx-php5-drupal | |
| # Prerender. | |
| docker run -d --name=prerender bnchdrff/prerender | |
| # Frontend links to prerender service. | |
| docker run -d --name=gnl-frontend -e PRERENDER_SERVICE_URL=http://`docker inspect --format='{{.NetworkSettings.IPAddress}}' prerender`:3000 detroitledger/gnl-frontend:`cd ../detroitledger.git; git log --pretty=format:'%h' -n 1` | |
| # "Grand ambassadors" ensure that links are still good after container restarts / destroys. | |
| # See https://github.com/cpuguy83/docker-grand-ambassador | |
| docker run -d -v /var/run/docker.sock:/var/run/docker.sock --name=gnl-backend-ambassador cpuguy83/docker-grand-ambassador -name gnl-backend | |
| docker run -d -v /var/run/docker.sock:/var/run/docker.sock --name=gnl-frontend-ambassador cpuguy83/docker-grand-ambassador -name gnl-frontend | |
| # Nginx reverse proxy links to frontend & backend ambassadors. | |
| docker run -p 80:80 -p 443:443 -d --link gnl-frontend-ambassador:frontend --link gnl-backend-ambassador:backend --name=gnl-nginx-ambassadorized bnchdrff/gnl-nginx-ambassadorized |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment