awesome-compose/flask
Atomist Bot 2dd28f4319 Pin Docker image python:3.10-alpine
--platform=$BUILDPLATFORM
->
python:3.10-alpine@sha256:c9d3c11e89887c82efeb4f4fee8771a406cf42f41aebbd23148906d5fe3c1426

 [atomist:generated]
 [atomist-skill:atomist/docker-base-image-policy]

Signed-off-by: Atomist Bot <bot@atomist.com>
2022-10-07 07:12:40 +00:00
..
.docker flask: dev envs support & misc improvements (#263) 2022-07-08 09:22:59 -04:00
app Pin Docker image python:3.10-alpine 2022-10-07 07:12:40 +00:00
compose.yaml flask: dev envs support & misc improvements (#263) 2022-07-08 09:22:59 -04:00
README.md Add "Open in Docker Dev Environments" links (#280) 2022-09-01 11:39:33 -05:00

Compose sample application

Use with Docker Development Environments

You can open this sample in the Dev Environments feature of Docker Desktop version 4.12 or later.

Open in Docker Dev Environments Open in Docker Dev Environments

Python/Flask application

Project structure:

.
├── compose.yaml
├── app
    ├── Dockerfile
    ├── requirements.txt
    └── app.py

compose.yaml

services: 
  web: 
    build:
     context: app
     target: builder
    ports: 
      - '8000:8000'

Deploy with docker compose

$ docker compose up -d
[+] Building 1.1s (16/16) FINISHED
 => [internal] load build definition from Dockerfile                                                                                                                                                                                       0.0s
    ...                                                                                                                                         0.0s
 => => naming to docker.io/library/flask_web                                                                                                                                                                                               0.0s
[+] Running 2/2
 ⠿ Network flask_default  Created                                                                                                                                                                                                          0.0s
 ⠿ Container flask-web-1  Started

Expected result

Listing containers must show one container running and the port mapping as below:

$ docker compose ps
NAME                COMMAND             SERVICE             STATUS              PORTS
flask-web-1         "python3 app.py"    web                 running             0.0.0.0:8000->8000/tcp

After the application starts, navigate to http://localhost:8000 in your web browser or run:

$ curl localhost:8000
Hello World!

Stop and remove the containers

$ docker compose down