add configuration to use spring-postgres sample with Docker Dev Environments feature (#258)
* add configuration to use spring-postgres sample with Docker Dev Environments feature Co-authored-by: Milas Bowman <milasb@gmail.com> Signed-off-by: Guillaume Lours <guillaume.lours@docker.com>
This commit is contained in:
parent
eb837eba55
commit
9d547d23fb
34
spring-postgres/.docker/docker-compose.yaml
Normal file
34
spring-postgres/.docker/docker-compose.yaml
Normal file
@ -0,0 +1,34 @@
|
||||
services:
|
||||
backend:
|
||||
build:
|
||||
context: backend
|
||||
target: dev-envs
|
||||
ports:
|
||||
- 8080:8080
|
||||
environment:
|
||||
- POSTGRES_DB=example
|
||||
networks:
|
||||
- spring-postgres
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
db:
|
||||
image: postgres
|
||||
restart: always
|
||||
secrets:
|
||||
- db-password
|
||||
volumes:
|
||||
- db-data:/var/lib/postgresql/data
|
||||
networks:
|
||||
- spring-postgres
|
||||
environment:
|
||||
- POSTGRES_DB=example
|
||||
- POSTGRES_PASSWORD_FILE=/run/secrets/db-password
|
||||
expose:
|
||||
- 5432
|
||||
volumes:
|
||||
db-data:
|
||||
secrets:
|
||||
db-password:
|
||||
file: db/password.txt
|
||||
networks:
|
||||
spring-postgres:
|
@ -77,3 +77,11 @@ Removing spring-postgres_db_1 ... done
|
||||
Removing spring-postgres_backend_1 ... done
|
||||
Removing network spring-postgres_default
|
||||
```
|
||||
|
||||
## Use with Docker Development Environments
|
||||
|
||||
You can use this sample with the Dev Environments feature of Docker Desktop.
|
||||
To develop directly frontend or the backend services inside containers, you just need to use the https git url of the sample:
|
||||
`https://github.com/docker/awesome-compose/tree/master/spring-postgres`
|
||||
|
||||
![page](../dev-envs.png)
|
||||
|
@ -1,3 +1,5 @@
|
||||
# syntax=docker/dockerfile:1.4
|
||||
|
||||
FROM --platform=$BUILDPLATFORM maven:3.8.5-eclipse-temurin-17 AS builder
|
||||
WORKDIR /workdir/server
|
||||
COPY pom.xml /workdir/server/pom.xml
|
||||
@ -5,7 +7,24 @@ RUN mvn dependency:go-offline
|
||||
|
||||
COPY src /workdir/server/src
|
||||
RUN mvn install
|
||||
RUN mkdir -p target/depency
|
||||
|
||||
FROM builder AS dev-envs
|
||||
RUN <<EOF
|
||||
apt-get update
|
||||
apt-get install -y --no-install-recommends git
|
||||
EOF
|
||||
|
||||
RUN <<EOF
|
||||
useradd -s /bin/bash -m vscode
|
||||
groupadd docker
|
||||
usermod -aG docker vscode
|
||||
EOF
|
||||
# install Docker tools (cli, buildx, compose)
|
||||
COPY --from=gloursdocker/docker / /
|
||||
CMD ["mvn", "spring-boot:run"]
|
||||
|
||||
FROM builder as prepare-production
|
||||
RUN mkdir -p target/dependency
|
||||
WORKDIR /workdir/server/target/dependency
|
||||
RUN jar -xf ../*.jar
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user