Compose app skeletons

Signed-off-by: Anca Iordache <anca.iordache@docker.com>
pull/1/head
Anca Iordache 4 years ago
parent 1936fc4fe2
commit 4a619921b9
  1. 23
      samples/nginx-flask-mongo/docker-compose.yaml
  2. 7
      samples/nginx-flask-mongo/flask/Dockerfile
  3. 2
      samples/nginx-flask-mongo/flask/requirements.txt
  4. 22
      samples/nginx-flask-mongo/flask/server.py
  5. 6
      samples/nginx-flask-mongo/nginx/nginx.conf
  6. 11
      samples/nginx-gohttp_1/Dockerfile
  7. 14
      samples/nginx-gohttp_1/docker-compose.yml
  8. 30
      samples/nginx-gohttp_1/main.go
  9. 6
      samples/nginx-gohttp_1/nginx.conf
  10. 11
      samples/nginx-gohttp_2/backend/Dockerfile
  11. 30
      samples/nginx-gohttp_2/backend/main.go
  12. 12
      samples/nginx-gohttp_2/docker-compose.yml
  13. 4
      samples/nginx-gohttp_2/frontend/Dockerfile
  14. 6
      samples/nginx-gohttp_2/frontend/nginx.conf

@ -0,0 +1,23 @@
version: "3"
services:
web:
image: nginx
volumes:
- ./nginx/nginx.conf:/tmp/nginx.conf
environment:
- FLASK_SERVER_ADDR=backend:9091
command: /bin/bash -c "envsubst < /tmp/nginx.conf > /etc/nginx/conf.d/default.conf && nginx -g 'daemon off;'"
ports:
- 8080:80
depends_on:
- backend
backend:
build: flask
environment:
- FLASK_SERVER_PORT=9091
volumes:
- ./flask:/src
depends_on:
- mongo
mongo:
image: mongo

@ -0,0 +1,7 @@
FROM python:3.7
WORKDIR /src
COPY . .
RUN pip install -r requirements.txt
CMD ["./server.py"]

@ -0,0 +1,22 @@
#!/usr/bin/env python
import os
from flask import Flask
from pymongo import MongoClient
app = Flask(__name__)
client = MongoClient("mongo:27017")
@app.route('/')
def todo():
try:
client.admin.command('ismaster')
except:
return "Server not available"
return "Hello fom the MongoDB client!\n"
if __name__ == "__main__":
app.run(host='0.0.0.0', port=os.environ.get("FLASK_SERVER_PORT", 9090), debug=True)

@ -0,0 +1,6 @@
server {
listen 80;
location / {
proxy_pass http://$FLASK_SERVER_ADDR;
}
}

@ -0,0 +1,11 @@
FROM golang:1.13 AS builder
WORKDIR /compose/hello-docker
COPY main.go main.go
RUN CGO_ENABLED=0 go build -o backend main.go
FROM scratch
COPY --from=builder /compose/hello-docker/backend /usr/local/bin/backend
CMD ["/usr/local/bin/backend"]

@ -0,0 +1,14 @@
version: "3.6"
services:
frontend:
image: nginx
ports:
- 8080:80
volumes:
- ./nginx.conf:/etc/nginx/conf.d/default.conf
depends_on:
- backend
backend:
build: .

@ -0,0 +1,30 @@
package main
import (
"fmt"
"log"
"net/http"
)
func handler(w http.ResponseWriter, r *http.Request) {
fmt.Println(r.URL.RawQuery)
fmt.Fprintf(w, `
## .
## ## ## ==
## ## ## ## ## ===
/"""""""""""""""""\___/ ===
{ / ===-
\______ O __/
\ \ __/
\____\_______/
Hello from Docker!
`)
}
func main() {
http.HandleFunc("/", handler)
log.Fatal(http.ListenAndServe(":80", nil))
}

@ -0,0 +1,6 @@
server {
listen 80;
location / {
proxy_pass http://backend:80;
}
}

@ -0,0 +1,11 @@
FROM golang:1.13 AS build
WORKDIR /compose/hello-docker
COPY main.go main.go
RUN CGO_ENABLED=0 go build -o backend main.go
FROM scratch
COPY --from=build /compose/hello-docker/backend /usr/local/bin/backend
CMD ["/usr/local/bin/backend"]

@ -0,0 +1,30 @@
package main
import (
"fmt"
"log"
"net/http"
)
func handler(w http.ResponseWriter, r *http.Request) {
fmt.Println(r.URL.RawQuery)
fmt.Fprintf(w, `
## .
## ## ## ==
## ## ## ## ## ===
/"""""""""""""""""\___/ ===
{ / ===-
\______ O __/
\ \ __/
\____\_______/
Hello from Docker!
`)
}
func main() {
http.HandleFunc("/", handler)
log.Fatal(http.ListenAndServe(":80", nil))
}

@ -0,0 +1,12 @@
version: "3.6"
services:
frontend:
build: frontend
ports:
- 8080:80
depends_on:
- backend
backend:
build: backend

@ -0,0 +1,4 @@
FROM nginx:alpine
COPY nginx.conf /etc/nginx/conf.d/default.conf

@ -0,0 +1,6 @@
server {
listen 80;
location / {
proxy_pass http://backend:80;
}
}
Loading…
Cancel
Save