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-example
to.env
- Copy
docker-compose.skeleton.yml
todocker-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.example
toenv.sh
- Change to execute script
chmod a+x env.sh
- Change environment in
env.sh
fileENV="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