2016-12-05 1 views
1

Я хотел бы знать, как установить WORDPRESS_DB_HOST в файле docker-compose.Как установить WORDPRESS_DB_HOST в docker-compose

wordpress: 
 
    image: wordpress 
 
    ports: 
 
     - 8080:80 
 
    environment: 
 
     WORDPRESS_DB_PASSWORD: example 
 
     WORDPRESS_DB_HOST: 192.168.99.100:3307 
 

 
wordpress_db: 
 
    image: mariadb 
 
    environment: 
 
     MYSQL_ROOT_PASSWORD: example 
 
    ports: 
 
     - 3307:3306 
 
    volumes: 
 
     - /doc/wordpress_db:/var/lib/mysql

Здесь "192.168.99.100" является докер машина моего IP. Я бы хотел заменить его динамическим значением.

Спасибо! :)

ответ

0

Я не уверен, что версия 1 Докер-композе, но я хотел бы сделать это следующим образом:

version: '2' 
services: 
    wordpress: 
    image: wordpress 
    ports: 
     - 8080:80 
    environment: 
     - WORDPRESS_DB_PASSWORD=example 
     - WORDPRESS_DB_HOST=wp_db 
    links: 
     - wordpress_db:wp_db 

    wordpress_db: 
    image: mariadb 
    environment: 
     - MYSQL_ROOT_PASSWORD=example 
    ports: 
     - 3307:3306 
    volumes: 
     - /doc/wordpress_db:/var/lib/mysql 

Дело отметить это links часть. Вы можете связать контейнер с контейнером в другой службе. Это позволяет ссылаться на IP базы данных с псевдонимом wp_db.

0

Docker compose не знает IP-адрес контейнера перед его запуском и должен определить среду для контейнера перед этой точкой. Если вам нужно это значение, чтобы быть IP вашего контейнера, а затем определить и экспортировать его в скрипте Entrypoint с линией, как:

export WORDPRESS_DB_HOST=`hostname -i` 

Обратите внимание, что это имя хоста скрипт, чтобы получить контейнер IP адрес зависит от основания контейнера распределение. Он работает в debian, но вам могут понадобиться другие команды для других вариантов Linux.

Смежные вопросы