Подключение к внешнему ip с портом из django, развернутого на docker

У меня есть приложение django с mariadb, подключаемое к терминалу zk через библиотеку pyzk, Приложение прекрасно работает в локальном режиме, но когда я развернул его с помощью docker, все функции работали нормально, пока не началось подключение к zk терминалу, я получил ошибку Exception: can't reach device (ping 41.32.196.3) приложение будет работать в ubuntu и windows

zk терминал должен подключить py ip и порт (4370)

docker-compose.yaml

version: "3.9"

services:
  db:
    image: mariadb:10.5
    restart: unless-stopped
    command:
      - --default-authentication-plugin=mysql_native_password
    env_file:
      - ./.env
    ports:
      - 3308:3306
    container_name: "djanzk_db"
    build:
      context: ./mysql
      dockerfile: Dockerfile

  web:
    build: .
    container_name: "djanzk_web"
    command: sh -c "python3 manage.py migrate --noinput && python3 manage.py collectstatic --noinput && python manage.py runserver 0.0.0.0:8040"
    ports:
      - "8040:8040"
    extra_hosts:
      - "host.docker.internal:host-gateway"
    volumes:
      - .:/app
      - /tmp/app/mysqld:/run/mysqld
    depends_on:
      - db
    env_file:
      - ./.env
    networks:
      - default

#networks:
#  outside:
#    external: true

.env

# Django settings
SECRET_KEY=
DEBUG=True
DJANGO_ALLOWED_HOSTS=localhost 127.0.0.1 0.0.0.0 [::1]

# MySQL settings
MYSQL_DATABASE=djaznzk
MYSQL_USER=root
MARIADB_ROOT_PASSWORD=root
MYSQL_PASSWORD=root
MYSQL_PORT=3306
MYSQL_HOST=db

Dockerfile

FROM ubuntu:latest
LABEL authors="ibralsmn"

ENTRYPOINT ["top", "-b"]


# Use an official Python runtime as a parent image
FROM python:3.10

# Set environment variables
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1

# Set the working directory
WORKDIR /app

# Install dependencies
COPY requirements.txt /app/
RUN pip install -r requirements.txt

# Copy the project code into the container
COPY . /ap

Раздел базы данных в setting.py

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': config('MYSQL_DATABASE','djaznzk'),
        'USER': config('MYSQL_USER','root'),
        'PASSWORD': config('MYSQL_PASSWORD','root'),
        'PORT': config('MYSQL_PORT','3306'),
        'HOST': config('MYSQL_HOST','127.0.0.1'),
    }
}

view.py функция connect

def test_terminal(request, ip=None, port=None):
    conn = None
    zk = ZK(ip, port, timeout=5)
    print(zk)
    try:
        conn = zk.connect()
        conn.disable_device()
        messages.info(request, f'{ip}:{port} Terminal Connection successful')
    except Exception as e:

        messages.error(request, f'{ip}:{port} Terminal {e}')
        raise Exception(e)
    finally:
        if conn:
            conn.disconnect()
    return redirect('list_terminal')

Пробую отключить брандмауэр и изменить сетевые настройки в файле docker

Вернуться на верх