123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- import os
- from docker.client import DockerClient
- from docker.errors import NotFound
- from docker.models.containers import Container
- CONTAINER_NAME = "uwsgi-nginx-test"
- def get_logs(container: Container) -> str:
- logs = container.logs()
- return logs.decode("utf-8")
- def get_nginx_config(container: Container) -> str:
- result = container.exec_run(f"/usr/sbin/nginx -T")
- return result.output.decode()
- def remove_previous_container(client: DockerClient) -> None:
- try:
- previous = client.containers.get(CONTAINER_NAME)
- previous.stop()
- previous.remove()
- except NotFound:
- return None
- def get_response_text1() -> str:
- python_version = os.getenv("PYTHON_VERSION")
- return f"Hello World from a default Nginx uWSGI Python {python_version} app in a Docker container (default)"
- def get_response_text2() -> str:
- python_version = os.getenv("PYTHON_VERSION")
- return f"Hello World from Nginx uWSGI Python {python_version} app in a Docker container"
- def generate_dockerfile_content_custom_app(name: str) -> str:
- content = f"FROM tiangolo/uwsgi-nginx:{name}\n"
- content += "COPY ./application /application\n"
- content += "COPY ./prestart.sh /app/prestart.sh\n"
- content += "WORKDIR /application\n"
- return content
- def generate_dockerfile_content_custom_nginx_app(name: str) -> str:
- content = f"FROM tiangolo/uwsgi-nginx:{name}\n"
- content += "COPY app /app\n"
- return content
- def generate_dockerfile_content_simple_app(name: str) -> str:
- content = f"FROM tiangolo/uwsgi-nginx:{name}\n"
- content += "COPY ./app/main.py /app/main.py\n"
- return content
- def generate_dockerfile_content_app_with_installs(name: str) -> str:
- content = f"FROM tiangolo/uwsgi-nginx:{name}\n"
- content += "RUN pip install flask\n"
- content += "COPY ./app/main.py /app/main.py\n"
- return content
|