Skip to content

Instantly share code, notes, and snippets.

@caVenikk
Created October 25, 2024 13:17
Show Gist options
  • Save caVenikk/e7f88c3249950128a64b4a50184f95de to your computer and use it in GitHub Desktop.
Save caVenikk/e7f88c3249950128a64b4a50184f95de to your computer and use it in GitHub Desktop.

Работа с портáми и томáми

1. Создание контейнера nginx

  • Команда: docker run -d --name my-nginx -p 8081:80 nginx

Контейнер nginx

2. Создание контейнера с WSGI-сервером на Python

  • Команда: docker run --name python-server -p 8082:80 -d python:3.11-slim bash -c "python3 -m http.server -b 0.0.0.0 80"

WSGI-сервер

3. Создание образа nginx из Dockerfile

Dockerfile:

FROM nginx:latest
COPY ./index.html /usr/share/nginx/html/index.html
  • Команда: docker build -t my-custom-nginx .

Образ nginx

4. Создание образа WSGI-сервера на Python

Dockerfile:

FROM python:3.11-slim
WORKDIR /app
COPY . /app

EXPOSE 80

CMD ["python3", "-m", "http.server", "80"]
  • Команда: docker build -t my-python-wsgi-image .

![Образ WSGI-сервера]((https://gist.github.com/user-attachments/assets/97a00706-047b-4400-885d-d1ada8a48c2e)

5. Загрузка образа в Docker Hub

  • Команды:
    docker login
    docker tag my-custom-nginx lilnikky/my-custom-nginx
    docker push lilnikky/my-custom-nginx
    docker tag my-python-wsgi-image lilnikky/my-python-wsgi-image
    docker push lilnikky/my-python-wsgi-image
  • Ссылка на образ nginx: my-custom-nginx
  • Ссылка на образ WGSI-сервера: my-python-wsgi-image

6. Использование docker-compose

docker-compose.yaml:

services:
  nginx:
    image: lilnikky/my-custom-nginx
    ports:
      - "8081:80"
    network_mode: "bridge"
  wsgi-server:
    image: lilnikky/my-python-wsgi-image
    ports:
      - "8082:80"
    network_mode: "bridge"
  • Команда: docker-compose up -d

docker-compose

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment