GithubHelp home page GithubHelp logo

guestbook's Introduction

guestbook

Docker Docker Docker

  1. Docker 1.7.0
  2. Docker Machine 0.3.0
  3. Docker Compose 1.3.0

Local

Initialize the Environment

docker-machine create --driver virtualbox guestbook-dev
eval "$(docker-machine env guestbook-dev)"
docker-compose up

Initialize the Database

docker-compose run --rm --no-deps app python app.py create_db

Remote

Initialize the Environment

export OS_USERNAME=your-rackspace-username
export OS_API_KEY=your-rackspace-api-key
export OS_REGION_NAME=IAD
docker-machine create --driver rackspace guestbook
eval "$(docker-machine env guestbook)"
docker-compose --file docker-compose-prod.yml build
docker-compose --file docker-compose-prod.yml up -d

Initialize the Database

export MYSQL_USER=guestbook-admin
export MYSQL_PASSWORD=$(hexdump -v -e '1/1 "%.2x"' -n 32 /dev/random)
export MYSQL_ROOT_PASSWORD=$(hexdump -v -e '1/1 "%.2x"' -n 32 /dev/random)

docker-compose --file docker-compose-prod.yml run --rm --no-deps app python app.py create_db

Secure the Environment

docker-machine ssh guestbook "apt-get update"
docker-machine ssh guestbook "apt-get -y install fail2ban"
docker-machine ssh guestbook "ufw default deny"
docker-machine ssh guestbook "ufw allow ssh"
docker-machine ssh guestbook "ufw allow http"
docker-machine ssh guestbook "ufw allow 2376" # Docker
docker-machine ssh guestbook "ufw --force enable"

Deploy Changes to Remote

docker-compose --file docker-compose-prod.yml build
docker-compose --file docker-compose-prod.yml up -d --x-smart-recreate

Work with the Database

docker run --rm --link dockerguestbook_db_1:db mysql:5.7 sh -c \
  'exec mysql \
  --host=$DB_PORT_3306_TCP_ADDR \
  --user=root \
  --password=$DB_ENV_MYSQL_ROOT_PASSWORD \
  --database=$DB_ENV_MYSQL_DATABASE \
  --execute="show tables;" \
  --table'

docker run --rm --link dockerguestbook_db_1:db mysql:5.7 sh -c \
  'exec mysqldump \
  --host=$DB_PORT_3306_TCP_ADDR \
  --user=root \
  --password=$DB_ENV_MYSQL_ROOT_PASSWORD \ 
  --databases $DB_ENV_MYSQL_DATABASE \
  --single-transaction \
  --add-drop-database' > $DB_ENV_MYSQL_DATABASE.sql

Alias

alias de='env | grep DOCKER_'

guestbook's People

Contributors

etoews avatar

Stargazers

hunt3r 1337 avatar Akinori avatar Claude avatar Maciej [MyChai] Jankowski avatar Mohammad Shahrukh avatar Giacomo Lacava avatar Leo avatar Ihor Peresunko avatar Mervyn Galvin avatar  avatar Vemula Sai Sri Vathsa avatar Guilherme Vinicius avatar Rodrigo H. Mota avatar cybaek avatar Tony Wang avatar Thomas Jung avatar Steven Cook avatar Sebastian Rothe avatar Konstantin Tolstikhin avatar Chris avatar skaparelos avatar Abhishek Jaiswal (AJ) avatar Philipp Wallhäuser avatar Vlad Dumitrica avatar Tim Kamanin avatar  avatar Max Malysh avatar Ashley Wilson avatar  avatar Alex Arce avatar Adam Conder avatar Steven Mercatante avatar  avatar  avatar Daniel Gladstone avatar Emmanuel García avatar Oliviertoto avatar Jae-woo Kim avatar Naresh Surisetty avatar Irshad Pananilath avatar Farkhat avatar Mark van Duijker avatar Vitalii avatar Noel Jackson avatar Rafał Wardenga avatar Jason Ross avatar sasameyuki avatar Dmitry Korneev avatar Sergey Makridenkov avatar Gilson Filho avatar James McNamee avatar Tyler Snowden avatar  avatar peter avatar Moinul Hossain avatar Michael Bunsen avatar Ndiaye avatar Jake Korth avatar  avatar Martin Marchev avatar Jan Margeta avatar Addy Kim avatar Brandon avatar J. Felix Etcetera avatar Nikolay Kost avatar Dolan Antenucci avatar Evan Briones avatar Jovan Alleyne avatar Chris Baigorri avatar Carlos Yakimov avatar Jurijs Proškovičs avatar Andres Araujo avatar James Ho avatar Rodolfo Sanchez avatar Scott MacDonald avatar michaeldim avatar Beshoy Girgis avatar Mark Puckett avatar Joe O'Pecko avatar Kyle Kelley avatar Joel Stanner avatar Tae Hwan Kim avatar Ryan Murphy avatar Sandro Keil avatar Antonio Lorusso avatar Alex avatar colin avatar Ken Garland avatar Nate Aune avatar

Watchers

Brad Gignac avatar Jovan Alleyne avatar James Cloos avatar Chris Bartels avatar Jamie Hannaford avatar Martin Marchev avatar Amber Rucker avatar Don Schenck avatar Nachiket Torwekar avatar  avatar  avatar

guestbook's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.