heidloff.net - Building is my Passion
Post
Cancel

Deploying Spring Boot Applications to Bluemix as Docker Containers

In the previous blog entry I described how to document REST APIs in Spring Boot applications via Swagger. Below I explain how to deploy these applications as Docker containers to IBM Bluemix. As example I use again the Spring REST sample.

In the Dockerfile (in the project root directory) define how to build the Docker image.

1
2
3
4
5
6
FROM java:8
VOLUME /tmp
ADD target/gs-rest-service-0.1.0.jar app.jar
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

From the root directory invoke the following commands.

1
2
3
mvn package
docker build -t gs-rest-service . 
docker run --name gs-rest-service -p 80:8080 -d -t gs-rest-service

After this you can run the sample in our local Docker environment.

http://dockerhost/greeting
http://dockerhost/v2/api-docs?group=greetings
http://dockerhost/swagger-ui.html

In order to push the image to Bluemix invoke the following commands.

1
2
3
4
cf login
cf ic login
docker tag gs-rest-service registry.ng.bluemix.net/nheidloff/gs-rest-service
docker push registry.ng.bluemix.net/nheidloff/gs-rest-service

To run the sample on Bluemix create a Docker container group.

image

After this you can run your REST API on Bluemix.

http://gs-rest-service-cg.mybluemix.net/greeting
http://gs-rest-service-cg.mybluemix.net/v2/api-docs?group=greetings
http://gs-rest-service-cg.mybluemix.net/swagger-ui.html

image

Featured Blog Posts
Disclaimer
The postings on this site are my own and don’t necessarily represent IBM’s positions, strategies or opinions.
Trending Tags