mirror of https://github.com/docker/docs.git
71 lines
2.9 KiB
Markdown
71 lines
2.9 KiB
Markdown
---
|
||
title: Build a Spring Boot project
|
||
description: Building a Spring Boot project using Docker Assemble
|
||
keywords: Assemble, Docker Enterprise, Spring Boot, container image
|
||
---
|
||
|
||
Ensure you are running the `backend` before you build any projects using Docker Assemble. For instructions on running the backend, see [Install Docker Assemble](/assemble/install).
|
||
|
||
Clone the git repository you would like to use. The following example uses the `docker-springfamework` repository.
|
||
|
||
```
|
||
~$ git clone https://github.com/anokun7/docker-springframework
|
||
Cloning into 'docker-springframework'...
|
||
«…»
|
||
```
|
||
When you build a Spring Boot project, Docker Assemble automatically detects the information it requires from the `pom.xml` project file.
|
||
|
||
Build the project using the `docker assemble build` command by passing it the path to the source repository:
|
||
|
||
```
|
||
~$ docker assemble build docker-springframework
|
||
«…»
|
||
Successfully built: docker.io/library/hello-boot:1
|
||
```
|
||
The resulting image is exported to the local Docker image store using a name and a tag which are automatically determined by the project metadata.
|
||
|
||
```
|
||
~$ docker image ls | head -n 2
|
||
REPOSITORY TAG IMAGE ID CREATED SIZE
|
||
hello-boot 1 00b0fbcf3c40 About a minute ago 97.4MB
|
||
```
|
||
|
||
An image name consists of `«namespace»/«name»:«tag»`. Where, `«namespace»/` is optional and defaults to `none`. If the project metadata does not contain a ‘tag’ (or a version), then `latest` is used. If the project metadata does not contain a ‘name’ and it was not provided on the command line, a fatal error occurs.
|
||
|
||
Use the `--namespace`, `--name` and `--tag` options to override each element of the image name:
|
||
|
||
```
|
||
~$ docker assemble build --name testing --tag latest docker-springframework/
|
||
«…»
|
||
INFO[0007] Successfully built "testing:latest"
|
||
~$ docker image ls
|
||
REPOSITORY TAG IMAGE ID CREATED SIZE
|
||
testing latest d7f41384814f 32 seconds ago 97.4MB
|
||
hello-boot 1 0dbc2c425cff 5 minutes ago 97.4MB
|
||
```
|
||
|
||
Run the container:
|
||
|
||
```
|
||
~$ docker run -d --rm -p 8080:8080 hello-boot:1
|
||
b2c88bdc35761ba2b99f85ce1f3e3ce9ed98931767b139a0429865cadb46ce13
|
||
~$ docker ps
|
||
CONTAINER ID IMAGE COMMAND «…» PORTS NAMES
|
||
b2c88bdc3576 hello-boot:1 "java -Djava.securit…" «…» 0.0.0.0:8080->8080/tcp silly_villani
|
||
~$ docker logs b2c88bdc3576
|
||
|
||
. ____ _ __ _ _
|
||
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
|
||
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
|
||
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
|
||
' |____| .__|_| |_|_| |_\__, | / / / /
|
||
=========|_|==============|___/=/_/_/_/
|
||
:: Spring Boot :: (v1.5.2.RELEASE)
|
||
|
||
«…» : Starting Application v1 on b2c88bdc3576 with PID 1 (/hello-boot-1.jar started by root in /)
|
||
«…»
|
||
~$ curl -s localhost:8080
|
||
Hello from b2c88bdc3576
|
||
~$ docker rm -f b2c88bdc3576
|
||
```
|