Объедини контейнеры одно виртуальной сетью. Можешь конечно и вручную всё настроить но это не целесообразно.
Воспользуйся docker-compose.
docker-compose.yml может выглядеть, например, так:
version: "3.2"
services:
my_db:
image: mysql:8.0.26
restart: always
container_name: mysql8
command: --default-authentication-plugin=mysql_native_password
environment:
MYSQL_ROOT_PASSWORD: superpassword
ports:
working_dir: /var/lib/mysql
volumes:
- "./mysql:/var/lib/mysql:rw"
app:
build: ./app/
command: >
python3 app.py
depends_on:
- my_db
Обращаться к безе данных из приложения можно по имени сервиса, в данном случае
my_db