Skip to content

Instantly share code, notes, and snippets.

@marsyang1
Last active August 24, 2016 06:14
Show Gist options
  • Save marsyang1/550defcc741c12bdc923 to your computer and use it in GitHub Desktop.
Save marsyang1/550defcc741c12bdc923 to your computer and use it in GitHub Desktop.
vagrant-docker-box
version: '2'
services:
# cAdvisor:
# image: google/cadvisor
# container_name: cadvisor
# restart: always
# ports:
# - 10200:8080
# volumes:
# - /var/lib/docker:/var/lib/docker:ro
# - /sys:/sys:ro
# - /:/rootfs:ro
# - /var/run:/var/run:rw
ambassador:
image: cpuguy83/docker-grand-ambassador
container_name: ambassador
volumes:
- /var/run/docker.sock:/var/run/docker.sock
command: "-name jenkins -name gitlab"
jenkins:
image: jenkins
container_name: jenkins
restart: always
ports:
- 10201:8080
links:
- ambassador:gitlab
# - nexus
environment:
- JAVA_OPTS=-Xmx2048m -Xms256m -Duser.timezone=Asia/Taipei -Dfile.encoding=UTF-8
volumes:
- /home/vagrant/docker-workshop/jenkins_home:/var/jenkins_home
gitlab:
image: gitlab/gitlab-ce
container_name: gitlab
restart: always
links:
- ambassador:jenkins
ports:
- 10202:80
volumes:
- /home/vagrant/docker-workshop/gitlab_home/config:/etc/gitlab:z
- /home/vagrant/docker-workshop/gitlab_home/logs:/var/log/gitlab:z
- /home/vagrant/docker-workshop/gitlab_home/logs/reconfigure:/var/log/gitlab/reconfigure:z
# nexus:
# image: sonatype/nexus
# container_name: nexus
# restart: always
# ports:
# - 10203:8080
# volumes:
# - /home/vagrant/docker-workshop/nexus_home/config:/sonatype-work
db-mysql:
image: mysql
container_name: db-mysql
restart: always
ports:
- 10236:3306
volumes:
- /home/vagrant/docker-workshop/mysql_home:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=1234
command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
# jira:
# image: cptactionhank/atlassian-confluence
# container_name: confluence
# restart: always
# ports:
# - 10204:8090
# links:
# - db-mysql:db-mysql
# volumes:
# - /home/vagrant/docker-workshop/confluence_home:/var/atlassian/confluence
# confluence:
# image: cptactionhank/atlassian-jira
# container_name: jira
# restart: always
# ports:
# - 10205:8090
# links:
# - db-mysql:db-mysql
# volumes:
# - /home/vagrant/docker-workshop/jira_home:/var/atlassian/jira
tomcat:
image: tomcat
container_name: tomcat
restart: always
ports:
- 10280:8080
links:
- db-mysql:db-mysql
environment:
- JAVA_OPTS='-Duser.timezone=Asia/Taipei'
volumes:
- /home/vagrant/docker-workshop/tomcat_home/conf/tomcat-users.xml:/usr/local/tomcat/conf/tomcat-users.xml
# nginx
# mkdir /home/vagrant/docker-workshop/nginx_home
# mkdir /home/vagrant/docker-workshop/nginx_home/conf.d
# chown -R 1000:1000 /home/vagrant/docker-workshop/nginx_home/
# wget -O /var/nginx_home/conf.d/default.conf https://gist.githubusercontent.com/marsyang1/1fcdb86aa274060ff5be/raw/7e1568c94791e171c6ba046fd7b667e5363c88f4/default.conf
# docker run -d \
# --name nginx \
# -p 80:80 \
# -v /home/vagrant/docker-workshop/nginx_home/conf.d:/etc/nginx/conf.d nginx
# mail dev
# docker run -d --name maildev -p 25:25 -p 1080:80 djfarrelly/maildev
# odoo
# docker run -d --name db-postgres -e POSTGRES_USER=odoo -e POSTGRES_PASSWORD=odoo postgres
# docker run -d -p 127.0.0.1:8069:8069 --name odoo --link db-postgres:db odoo
# wordpress
# docker run --name wordpress --link db-mysql:mysql -d wordpress
# scm-manager=
# mkdir /var/lib/scm
# chown 1000:1000 /var/lib/scm
# docker run -d --name scm -v /var/lib/scm:/var/lib/scm -p 7000:8080 sdorra/scm-manager
#nginx
rm -rf /home/vagrant/docker-workshop/nginx_home
mkdir /home/vagrant/docker-workshop/nginx_home
mkdir /home/vagrant/docker-workshop/nginx_home/conf.d
chown -R 1000:1000 /home/vagrant/docker-workshop/nginx_home/
wget -O /home/vagrant/docker-workshop/nginx_home/default.conf https://gist.githubusercontent.com/marsyang1/1fcdb86aa274060ff5be/raw/7e1568c94791e171c6ba046fd7b667e5363c88f4/default.conf
docker run -d --name nginx -p 10180:80 -v /home/vagrant/docker-workshop/nginx_home/:/etc/nginx/conf.d nginx
#mysql
rm -rf /home/vagrant/docker-workshop/db-mysql
mkdir /home/vagrant/docker-workshop/db-mysql
docker run -d --name db-mysql -p 10136:3306 -v /home/vagrant/docker-workshop/db-mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=1234 mysql:latest
#jenkins
rm -rf /home/vagrant/docker-workshop/jenkins_home
mkdir /home/vagrant/docker-workshop/jenkins_home
chown 1000:1000 /home/vagrant/docker-workshop/jenkins_home
docker run -d \
--name jenkins -p 10200:8080 \
-v /home/vagrant/docker-workshop/jenkins_home:/var/jenkins_home \
-e JAVA_OPTS='-Xmx1024m -Xms256m -Duser.timezone=Asia/Taipei' \
jenkins
#gitlab http://doc.gitlab.com/omnibus/docker/
#rm -rf /home/vagrant/docker-workshop/gitlab
mkdir /home/vagrant/docker-workshop/gitlab
mkdir /home/vagrant/docker-workshop/gitlab/config
mkdir /home/vagrant/docker-workshop/gitlab/logs
mkdir /home/vagrant/docker-workshop/gitlab/logs/reconfigure
mkdir /home/vagrant/docker-workshop/gitlab/data
chown -R gitlab-psql:gitlab-psql /home/vagrant/docker-workshop/gitlab
docker run -d -p 10201:80 \
--name gitlab \
--hostname ubuntu \
--restart always \
--volume /home/vagrant/docker-workshop/gitlab/config:/etc/gitlab:z \
--volume /home/vagrant/docker-workshop/gitlab/logs:/var/log/gitlab:z \
--volume /home/vagrant/docker-workshop/gitlab/logs/reconfigure:/var/log/gitlab/reconfigure:z \
gitlab/gitlab-ce:latest
# 隔10秒
sudo docker exec gitlab update-permissions
docker restart gitlab
# sonatype nexus
rm -rf /home/vagrant/docker-workshop/sonatype-nexus
mkdir /home/vagrant/docker-workshop/sonatype-nexus && chown 200:200 /home/vagrant/docker-workshop/sonatype-nexus
docker run -d --name nexus -p 10202:8081 -v /home/vagrant/docker-workshop/sonatype-nexus:/sonatype-work sonatype/nexus
#confluence
# Todo
# https://confluence.atlassian.com/confkb/the-text-in-a-powerpoint-excel-or-word-document-looks-different-when-using-the-viewfile-macro-200213562.html
# https://confluence.atlassian.com/doc/configuring-system-properties-168002854.html
# https://www.ricksoft.jp/document/pages/viewpage.action?pageId=177209398
docker run -d \
--name confluence \
--restart always \
-p 8090:8090 \
--link db-mysql:db-mysql \
-v /home/docker/confluence_bin/setenv.sh:/opt/atlassian/confluence/bin/setenv.sh \
-v /home/docker/confluence_home:/var/atlassian/confluence \
cptactionhank/atlassian-confluence:latest
#jira
docker run -d --name jira -p 10280:8080 cptactionhank/atlassian-jira:latest
Vagrant.require_version ">= 1.7.4"
# change default synced_folder for convenience
SYNCED_FOLDER = "/home/vagrant/docker-workshop"
# expose ports from guest to host for convenience
FORWARDED_PORT_RANGE = (10200..10250)
Vagrant.configure(2) do |node|
node.vm.box = "williamyeh/ubuntu-trusty64-docker"
node.vm.box_version = ">= 1.8.1"
node.vm.network "private_network", ip: "10.0.0.100"
for i in FORWARDED_PORT_RANGE
node.vm.network "forwarded_port", guest: i, host: i
end
node.vm.synced_folder ".", SYNCED_FOLDER , :owner=> 'vagrant', :group=>'vagrant', :mount_options => ['dmode=777', 'fmode=777']
node.vm.provider "virtualbox" do |vb|
vb.customize ["modifyvm", :id, "--memory", "4096"]
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment