Skip to content

Instantly share code, notes, and snippets.

@phstudy
phstudy / gist:08eb45fb1bfc941eb138
Created December 30, 2014 07:11
gradle invoke external command
task dockerPushImage(type: Exec, dependsOn: dockerBuildImage) {
environment 'DOCKER_HOST', 'tcp://127.0.0.1:2375'
commandLine "${project.dockercmd}", "push", "${project.dockerhub}/dmp-web:${dockerTagVer}"
}
@phstudy
phstudy / docker_machine_on_azure
Last active August 29, 2015 14:11
docker machine on azure
14:11:09 study-mbpr: Downloads$ ./darwin create -d azure --azure-publish-settings-file="Study Lab.-12-9-2014-credentials.publishsettings" --azure-password="------------" --azure-username="study" study-docker
INFO[0000] Creating Azure host...
INFO[0058] Waiting for SSH...
INFO[0143] Waiting for docker daemon on host to be available...
INFO[0194] "study-docker" has been created and is now the active machine. Docker commands will now run against that machine.
14:14:55 study-mbpr: Downloads$ ./darwin ls
NAME ACTIVE DRIVER STATE URL
study-docker * azure Running tcp://docker-host-87211309ea05.cloudapp.net:4243
@phstudy
phstudy / gist:4a637bcf87c5e7497d56
Created November 18, 2014 03:18
azure create vm
+ Creating VM
error: Windows Azure is currently performing an operation with x-ms-requestid c890872725eb3f6b8a763353e5a88296 on this deployment that requires exclusive access.
info: Error information has been recorded to azure.err
error: vm create command failed
./attach-disk.sh rtb-cassandra88 tenmaxdb2 4 100
@phstudy
phstudy / Spark720pStats.java
Created November 17, 2014 03:58
Spark720pStats
import org.apache.commons.lang.StringUtils;
import org.apache.spark.SparkConf;
import org.apache.spark.api.java.JavaPairRDD;
import org.apache.spark.api.java.JavaSparkContext;
import scala.Tuple2;
import java.util.Arrays;
public class Spark720pStats {
public static void main(String[] args) {
@phstudy
phstudy / ambassador.md
Last active August 29, 2015 14:05
ambassador pattern心得

ambassador pattern用途

由於service consumer跟provider之間網路連結是透過hardcode的, 因此service consumer要切換provider往往不太容易。若用ambassador來切換provider,只需重啟ambassador並連接至新的provider

關係由原本的 (consumer) -> (provider) 變成 (consumer) -> (ambassador) -> (provider)

想像一下,假如今天有n個consumers, 未使用ambassador,你需要重啟每個consumers。若使用ambassador,你只需要重啟一個ambassador。

@phstudy
phstudy / build-rathena.sh
Created July 24, 2014 20:45
script to build study/rathena image
cd rathena && sudo docker build -t "study/rathena" .
@phstudy
phstudy / create-mysql-container.sh
Last active August 29, 2015 14:04
script to spin up docker container for mysql
sudo docker run --name rathena-mysql -e MYSQL_ROOT_PASSWORD=rathena731220 -d mysql
@phstudy
phstudy / create-rathena-container.sh
Created July 24, 2014 20:43
script to spin up docker container for rathena
sudo docker run --name rathena -e AWS=true --link rathena-mysql:mysql -p 6900:6900 -p 6121:6121 -p 5121:5121 -d 'study/rathena:latest'
#sudo docker run --name rathena --link rathena-mysql:mysql --rm -it 'study/rathena:latest' /bin/bash
@phstudy
phstudy / Dockerfile
Last active August 29, 2015 14:04
tomcat7 sample Dockerfile
FROM ubuntu:14.04
MAINTAINER Study Hsueh "[email protected]"
# Update Ubuntu
RUN apt-get update
# Install tomcat7
RUN apt-get -y install tomcat7
# Expose 8080 port
@phstudy
phstudy / Vagrantfile
Created July 17, 2014 17:04
a Vagrantfile to spin up a docker ready aws instance in tokyo
# -*- mode: ruby -*-
# vi: set ft=ruby :
# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "dummy"
config.ssh.pty = true