Awesome
Setup
Set JAVA_HOME Set M2_HOME Add M2_HOME/bin to the execution path mvn package -DskipTests
Docker Commands
Start MySql Container (downloads image if not found)
docker run --detach --name ec-mysql -p 6604:3306 -e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=explorecali -e MYSQL_USER=cali_user -e MYSQL_PASSWORD=cali_pass -d mysql
view all images
docker images
view all containers (running or not)
docker ps -a
Interact with Database (link to ec-mysql container) with mysql client
docker run -it --link ec-mysql:mysql --rm mysql sh -c 'exec mysql -h"$MYSQL_PORT_3306_TCP_ADDR" -P"$MYSQL_PORT_3306_TCP_PORT" -uroot -p"$MYSQL_ENV_MYSQL_ROOT_PASSWORD"'
Stop ec-mysql container
docker stop ec-mysql
(ReStart) ec-mysql container
docker start ec-mysql
Remove ec-mysql container (must stop it first)
docker rm ec-mysql
Remove image (must stop and remove container first)
docker rmi mysql:latest
Startup with Profile settings
Default profile, H2 database
mvn spring-boot:run
or
java -jar target/explorecali-2.0.0-SNAPSHOT.jar
mysql profile, MySql database (requires running container ec-mysql)
mvn spring-boot:run -Dspring.profiles.active=mysql
or
java -Dspring.profiles.active=mysql -jar target/explorecali-2.0.0-SNAPSHOT.jar
Dockerize Explore California
Build jar, image, set default profile
mvn package -DskipTests docker:build
container with default property set in Dockerfile
docker run --name ec-app-default -p 8080:8080 -d explorecali-default
Build jar, image, set mysql profile
mvn package -DskipTests docker:build -Dec-profile=mysql
Run Docker container with mysql profile
docker run --name ec-app-mysql -p 8181:8080 --link ec-mysql:mysql -d explorecali-mysql
Build jar, image, set docker profile
mvn package -DskipTests docker:build -Dec-profile=docker
Run Docker container with docker profile set in Dockerfile and migration scripts on host
docker run --name ec-app-docker -p 8282:8080 -v ~/db/migration:/var/migration -e server=ec-mysql -e port=3306 -e dbuser=cali_user -e dbpassword=cali_pass --link ec-mysql:mysql -d explorecali-docker
Enter Docker container
docker exec -t -i ec-app /bin/bash
Push image to Docker hub
######Login to Docker hub locally
docker login
Upload image
docker tag <image id> <docker hub repository>/explorecali-default:latest
Download image
docker pull <docker hub repository>/explorecali-default
Run Container from docker hub image
docker run --name ec-app-default -p 8080:8080 -d <docker hub repository>/explorecali-default