forked from docker/awesome-compose
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
nginx-flask-mysql: add dev envs support (docker#272)
* Add Docker Desktop Development Environments config * Change port `5000` -> `8000` for Flask to avoid conflicts on recent macOS versions * Improve DB health check (for non-dev envs case) to avoid producing a bunch of log spam Co-authored-by: Guillaume Lours <guillaume@lours.me> Signed-off-by: Milas Bowman <milas.bowman@docker.com>
- Loading branch information
Showing
5 changed files
with
130 additions
and
24 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
services: | ||
db: | ||
image: mariadb:10-focal | ||
command: '--default-authentication-plugin=mysql_native_password' | ||
restart: always | ||
healthcheck: | ||
test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "--silent"] | ||
interval: 3s | ||
retries: 5 | ||
start_period: 30s | ||
secrets: | ||
- db-password | ||
volumes: | ||
- db-data:/var/lib/mysql | ||
networks: | ||
- backnet | ||
environment: | ||
- MYSQL_DATABASE=example | ||
- MYSQL_ROOT_PASSWORD_FILE=/run/secrets/db-password | ||
expose: | ||
- 3306 | ||
- 33060 | ||
|
||
backend: | ||
build: | ||
context: backend | ||
target: dev-envs | ||
restart: always | ||
volumes: | ||
- /var/run/docker.sock:/var/run/docker.sock | ||
secrets: | ||
- db-password | ||
ports: | ||
- 8000:8000 | ||
networks: | ||
- backnet | ||
- frontnet | ||
depends_on: | ||
db: | ||
condition: service_healthy | ||
|
||
proxy: | ||
build: proxy | ||
restart: always | ||
ports: | ||
- 80:80 | ||
depends_on: | ||
- backend | ||
networks: | ||
- frontnet | ||
|
||
volumes: | ||
db-data: | ||
|
||
secrets: | ||
db-password: | ||
file: db/password.txt | ||
|
||
networks: | ||
backnet: | ||
frontnet: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,35 @@ | ||
FROM python:3.8-alpine | ||
# syntax=docker/dockerfile:1.4 | ||
FROM --platform=$BUILDPLATFORM python:3.10-alpine AS builder | ||
|
||
WORKDIR /code | ||
COPY requirements.txt /code/ | ||
RUN pip install -r requirements.txt --no-cache-dir | ||
COPY . /code/ | ||
COPY requirements.txt /code | ||
RUN --mount=type=cache,target=/root/.cache/pip \ | ||
pip3 install -r requirements.txt | ||
|
||
COPY . . | ||
|
||
ENV FLASK_APP hello.py | ||
CMD flask run --host=0.0.0.0 | ||
|
||
ENV FLASK_ENV development | ||
ENV FLASK_RUN_PORT 8000 | ||
ENV FLASK_RUN_HOST 0.0.0.0 | ||
|
||
EXPOSE 8000 | ||
|
||
CMD ["flask", "run"] | ||
|
||
FROM builder AS dev-envs | ||
|
||
RUN <<EOF | ||
apk update | ||
apk add git | ||
EOF | ||
|
||
RUN <<EOF | ||
addgroup -S docker | ||
adduser -S --shell /bin/bash --ingroup docker vscode | ||
EOF | ||
|
||
# install Docker tools (cli, buildx, compose) | ||
COPY --from=gloursdocker/docker / / | ||
|
||
CMD ["flask", "run"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters