- create lab host/machine docker-machine create --driver=virtualbox lab - configure env docker-machine env lab eval "$(docker-machine env lab)" alias dmlab - list hosts/machines docker-machine ls - run tomcat docker run -it --rm -p 8080:8080 tomcat:7.0-jre7 - ip docker-machine ip lab - process docker ps - build nuez-db docker build -t nuez-db . - images docker images - run nuez-db docker run --name nuez-db -e MYSQL_USER=nuez-app -e MYSQL_PASSWORD=nuez+1 -e MYSQL_DATABASE=nuez -e MYSQL_ROOT_PASSWORD=root+1 -p 3306:3306 -d nuez-db - process docker ps - mysql connect mysql -h 192.168.99.102 -u nuez-app -p nuez - mysql in docker docker run -it --link nuez-db:mysql --rm mysql:5.5.45 bash mysql -h $MYSQL_PORT_3306_TCP_ADDR -u $MYSQL_ENV_MYSQL_USER -p$MYSQL_ENV_MYSQL_PASSWORD $MYSQL_ENV_MYSQL_DATABASE env - build nuez docker build -t nuez . - run nuez docker run -d --name nuez --link nuez-db:mysql -p 80:8080 nuez docker run -it --rm --name nuez --link nuez-db:mysql -p 80:8080 nuez docker exec -it nuez bash docker diff nuez - share via docker hub docker login docker build -t javajudd/nuez-db:1.0 . docker push javajudd/nuez-db docker build -t javajudd/nuez:1.0 . docker push javajudd/nuez - compose docker-compose up -d - registry docker run -d -p 5000:5000 --name registry registry:2.2.0 docker stop nuez docker rm nuez docker tag nuez localhost:5000/nuez docker push localhost:5000/nuez docker rmi nuez docker rmi localhost:5000/nuez docker stop nuez-db docker rm nuez-db docker tag nuez-db localhost:5000/nuez-db docker rmi nuez-db docker push localhost:5000/nuez-db docker rmi localhost:5000/nuez docker run --name nuez-db -e MYSQL_USER=nuez-app -e MYSQL_PASSWORD=nuez+1 -e MYSQL_DATABASE=nuez -e MYSQL_ROOT_PASSWORD=root+1 -p 3306:3306 -d localhost:5000/nuez-db docker run -d --name nuez --link nuez-db:mysql -p 80:8080 localhost:5000/nuez or docker pull localhost:5000/nuez-db docker pull localhost:5000/nuez - docker api curl -k --cert $DOCKER_CERT_PATH/cert.pem --key $DOCKER_CERT_PATH/key.pem https://$(docker-machine ip lab):2376/info openssl pkcs12 -export -inkey $DOCKER_CERT_PATH/key.pem -in $DOCKER_CERT_PATH/cert.pem -name curl-cert -out $DOCKER_CERT_PATH/curl-cert.p12 -password pass:mysecret curl -k --cert $DOCKER_CERT_PATH/curl-cert.p12:mysecret https://$(docker-machine ip lab):2376/info curl -k --cert $DOCKER_CERT_PATH/curl-cert.p12:mysecret https://$(docker-machine ip lab):2376/containers/json curl -k --cert $DOCKER_CERT_PATH/curl-cert.p12:mysecret https://$(docker-machine ip lab):2376/containers/json?all=1 curl -k --cert $DOCKER_CERT_PATH/curl-cert.p12:mysecret https://$(docker-machine ip lab):2376/containers/35c7e85a21af/json curl -k --cert $DOCKER_CERT_PATH/curl-cert.p12:mysecret -X POST https://$(docker-machine ip lab):2376/containers/35c7e85a21af/stop docker ps curl -k --cert $DOCKER_CERT_PATH/curl-cert.p12:mysecret -X POST https://$(docker-machine ip lab):2376/containers/35c7e85a21af/start docker ps - swarm docker pull swarm docker history swarm # in lab sid=$(docker run swarm create) echo $sid docker-machine create -d virtualbox --swarm --swarm-master --swarm-discovery token://$sid swarm-master docker-machine ls eval "$(docker-machine env swarm-master)" docker info docker-machine create -d virtualbox --engine-label itype=frontend --swarm --swarm-discovery token://$sid swarm-node-01 docker-machine create -d virtualbox --swarm --swarm-discovery token://$sid swarm-node-02 docker-machine create -d virtualbox --swarm --swarm-discovery token://$sid swarm-node-03 docker-machine ls docker-machine env --swarm swarm-master docker-machine ls eval "$(docker-machine env --swarm swarm-master)" docker-machine ls docker info docker run swarm list token://$sid docker ps docker run -d -p 80:80 --name nginx1 nginx http:// for i in `seq 1 6`; do docker run -itd -e constraint:itype!=frontend --name eng$i ubuntu; done docker ps docker run -itd --name engmgr-c -e affinity:container==nginx1 ubuntu