Как сделать static ip для Docker-контейнера?
Нужно линковать один контейнер к другому, тогда внутри другого можно будет обращаться не по IP, а по имени. А ещё для формализации этого дела можно использовать Docker compose - таким образом вы определяете набор контейнеров, которые вместе предоставляют собой готовый сервис.
Пример: https://github.com/nazar-pc/docker-webserver#how-to-use
Там в отдельных контейнерах PHP-FPM, Nginx, MariaDB, SSH, всё линкуется друг к другу, всё опционально, всё можно обновлять по отдельности.
Так же официальные образы, тот же mysql сделаны аналогичным образом - линкуете его куда нужно, в том контейнере подключаетесь уже по имени mysql, вне зависимости от его IP.
К примеру, можете взять официальный образ PHP (который уже с Apache2 комплектуется) и официальный образ MySQL, кастомизируйте при необходимости (можно взять за основу для своего образа) и всё будет работать.
Как один из вариантов можете использовать SkyDock + SkyDNS , и обращаться к контейнерам по dns имени, при включении/добавлении нового контейнера, запись о нем будет динамически добавлятся.
И у вас таким образом отпадает необходимость знать ИП адрес контейнера.