Docker Lab (Learn Docker), this repository inspired from Docker Alpine.
Dynamic environments for:
- MariaDB
 - MongoDB
 - Nginx
 - NodeJS
 - PostgreSQL
 - Python
 - Ruby
 - Vim
 - Application (Workspace for Vim, Python, NodeJS & Ruby)
 
- bash (+ themes)
 - oh-my-zsh (+ themes)
 - tmux (+ themes)
 - vim (+ plugins with vundle & themes)
 - rbenv / rvm
- gem test unit (rspec, serverspec)
 - gem docker-api
 - gem sqlite3, mongoid, sequel, apktools
 - gem mysql2 (run: yum install -y mysql-devel)
 - gem pg, sequel_pg (run: yum install -y postgresql-libs postgresql-devel)
 - gem rubocop
 - others
 
 - npm
- npm test unit (ChaiJS, TV4, Newman)
 
 - js package manager
- yarn
 - bower
 - grunt
 - gulp
 - yeoman
 
 
- Run vim then
:PluginInstall - Update plugin vim (vundle)
:PluginUpdate - Via terminal
vim +PluginInstall +q vim +PluginUpdate +q 
- Path Gemfile
$HOME/Gemfile $HOME/Gemfile.lock - Gem Installation
./tmp/gems.sh - Different User Installation
/bin/sh $HOME/gems.sh 
- Build Containers
./build_all.sh - Running Containers (Single Containers Only)
./run_nginx.sh ./run_mariadb.sh ./run_postgresql.sh 
- Copy 
env-exampleto.env - Copy 
docker-compose.skeleton.ymltodocker-compose.yml - Build & running
docker-compose build && docker-compose up - Force recreate container
docker-compose build && docker-compose up --force-recreate - Force recreate some containers only
docker-compose build && docker-compose up --force-recreate mariadb mongodb nginx nodejs postgresql redis ruby application - Running container only
docker-compose up - Running some containers only
docker-compose up mariadb mongodb nginx nodejs postgresql redis ruby application 
You can run docker-compose for different environment with selected containers
- Copy 
env.sh.exampletoenv.sh - Change to execute script
chmod a+x env.sh - Change environment in 
env.shfileENV="development" # (use: "development" or "production" as selected environment) CONTAINER_PRODUCTION="..." # (selected containers will be run in production environment) CONTAINER_DEVELOPMENT="..." # (selected containers will be run in development environment) - Running script
./env.sh 

