These instructions are based on Docker 1.0.0 run on Ubuntu trusty boot2docker. (Japanese)
Change Docker daemon startup configuration (/etc/default/docker
) like as bellow. On boot2docker, it is enabled by default.
# Use DOCKER_OPTS to modify the daemon startup options.
#DOCKER_OPTS="-dns 8.8.8.8 -dns 8.8.4.4"
DOCKER_OPTS="-H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock"
If you need sudo
with docker
command, change docker_cmd
in bin/env.sh
.
docker_cmd="sudo docker"
If your Docker daemon uses a bridge different from docker0
, change bridge_name
in bin/env.sh
.
bridge_name=bridge0
You have to agree the licenses before building the images and use them.
cd bin
./acceptlicenses.sh
./buildimages.sh
An SSH key pair is created in this process. That is bin/id_rsa
and bin/id_rsa.pub
. The private key is used for login to the instances via SSH. If you want to use another key pair, place it in bin
directory as id_rsa
and id_rsa.pub
.
startminimum.sh
starts the minimum set of containers. The script starts SkyDNS, SkyDock, one Cassandra (cassandra1), the data loader, Eureka server (service registry), Zuul (load balancer), Microscaler and Microscaler Agent. Two auto scaling groups (ASGs) are created. One is for the authentication service, another is for the web application. Each ASG has one instance as the desired capacity. The one auth-service and one webapp are started by Microscaler. Please wait few minutes after the command finishes.
cd bin
./startminimum.sh
The default application server for auth-service and webbapp is IBM WebSphere Application Server Liberty profile (WLP). You can use Tomcat instead of WLP. Change appserver
value in bin/env.sh
.
# "wlp" for WAS Liberty profile or "tc" for Tomcat
appserver=tc
Delete and create the ASGs (and the loader configurations) to run auth-service and webapp on Tomcat.
cd bin
./deleteasg.sh
./configureasg.sh
./startasg.sh
Auth-service and webapp are managed by Microscaler. If you want more those instances, change ASG configuration.
./addcassandra.sh
./stopall.sh
./showipaddrs.sh
Use SSH. SSH servers run on all containers except SkyDNS and SkyDock.
ssh -i bin/id_rsa [email protected]
./testwebapp.sh
or
./testwebapp.sh 172.17.0.6
./testauth.sh
or
./testauth.sh 172.17.0.9
./showcassandrastatus.sh
./showcustomertable.sh
dig @172.17.42.1 +short zuul.*.local.flyacmeair.net
dig @172.17.42.1 +short eureka.*.local.flyacmeair.net
dig @172.17.42.1 +short cassandra1.*.local.flyacmeair.net
dig @172.17.42.1 +short webapp1.*.local.flyacmeair.net
dig @172.17.42.1 +short auth1.*.local.flyacmeair.net
Make sure your docker version. The version might be different from the assumption of these instructions.
$ docker version
Client version: 1.0.0
Client API version: 1.12
Go version (client): go1.2.1
Git commit (client): 63fe64c
Server version: 1.0.0
Server API version: 1.12
Go version (server): go1.2.1
Git commit (server): 63fe64c
TCP socket might not be enabled. Check options of Docker daemon.
$ ps -ef | grep docker
root 22320 1 0 14:06 ? 00:01:00 /usr/bin/docker -d -H tcp://0.0.0.0:2735 -H unix://var/run/docker.sock
Your firewall might block the communications between the containers and the Docker daemon. Please check your firewall rules.
SkyDock might not work properly. Please try restart skydock
. SkyDock registers all running containers at its start time. You don't have to restart other containers.
docker restart skydock
The Docker images might different as you assume. Try following commands to clear images. NOTICE: the following commands stop all containers and remove all containers and images.
docker rm -f `docker ps -qa`
docker rmi `docker images -q`
Image | Name | Version | Format | Source |
---|---|---|---|---|
asgard | Asgard | latest (dockerlocal branch) | binary | https://acmeair.ci.cloudbees.com/job/asgard-etiport/ |
asgard | MongoDB | 2.4.9 | binary | Ubuntu repository |
auth-service | NetflixOSS Acme Air | latest (astyanax branch) | binary | https://acmeair.ci.cloudbees.com/job/acmeair-netflix-astyanax/ |
base | Oracle Java | 7 | binary | https://launchpad.net/~webupd8team/+archive/java/ |
base | ruby | 1.9.3 | binary | Ubuntu repository |
base | sshd | 6.6 | binary | Ubuntu repository |
base | supervisor | 3.0 | binary | Ubuntu repository |
base | Ubuntu Linux | 14.04 | binary | Docker Index |
cassandra | Cassandra | 2.0.7 | binary | http://cassandra.apache.org/ |
eureka | Eureka server | 1.1.132 | binary | Maven Central Repository |
ibmjava | IBM Java | 7.0 SR5 | binary | https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/downloads/jre/index.yml |
liberty | IBM WebSphere Application Server Liberty profile | 8.5.5.2 | binary | https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/downloads/wlp/index.yml |
loader | Acme Air loader | latest (astyanax branch) | binary | https://acmeair.ci.cloudbees.com/job/acmeair-netflix-astyanax/ |
microscaler | Microscaler CLI | latest | source | https://github.com/EmergingTechnologyInstitute/microscaler/ |
microscaler | Microscaler | latest | source | https://github.com/EmergingTechnologyInstitute/microscaler/ |
microscaler | gnatsd | latest | source | https://github.com/apcera/gnatsd/ |
microscaler | Go | 1.2.1 | binary | Ubuntu repository |
microscaler | MongoDB | 2.4.9 | binary | Ubuntu repository |
microscaler | Redis | 2.8.4 | binary | Ubuntu repository |
microscaler-agent | Microscaler Agent | latest | source | https://github.com/EmergingTechnologyInstitute/microscaler/ |
skydns | SkyDNS | latest | binary | Docker Index |
skydock | SkyDock | latest | binary | Docker Index |
tomcat | Tomcat | 7.0.54 | binary | http://tomcat.apache.org/ |
webapp | Acme Air | latest (astyanax branch) | binary | https://acmeair.ci.cloudbees.com/job/acmeair-netflix-astyanax/ |
zuul | Zuul | 1.0.21 | binary | Maven Central Repository |