Как передать IP-адрес контейнера в другой контейнер? - PullRequest
0 голосов
/ 17 января 2020

Я правильно пытаюсь передать IP-адрес контейнера другому

Вот мой файл docker -compose.yml

 app-phpmyadmin:
   image: phpmyadmin/phpmyadmin
   depends_on:
      - app-mysql
   ports:
      - '80'
   container_name: app-phpmyadmin
   environment:
      PMA_HOST: app-mysql
      PMA_PORT: 3306

  app-mysql:
   image: mysql:8
   container_name: app-mysql
   restart: always
   environment:
     MYSQL_ROOT_PASSWORD: root
     MYSQL_ROOT_HOST: app-phpmyadmin <<<< doesnt work see below why
   ports:
      - 3306

При передаче app-phpmyadmin вместо передачи ip на самом деле пишет "app-phpmyadmin" в виде строки. При выборе use, host из mysql .user, вместо имени ip используется имя хоста "app-phpmyadmin".

Есть ли способ сделать это в файле docker compose, или у меня будет придумать скрипт bash, который это делает?

Ответы [ 2 ]

0 голосов
/ 17 января 2020

На самом деле, вы можете попытаться использовать stati c сетевой адрес

version: '3.4'
services:
  app-phpmyadmin:
     image: phpmyadmin/phpmyadmin
     depends_on:
        - app-mysql
     ports:
        - '81'
     container_name: app-phpmyadmin
     environment:
       PMA_HOST: app-mysql
       PMA_PORT: 3306
    networks:
      app-net:
        ipv4_address: 10.5.0.5

  app-mysql:
    container_name: app-mysql
    image: mysql:8
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_ROOT_HOST: 10.5.0.5
    ports:
      - 3306
    networks:
      app-net:
        ipv4_address: 10.5.0.6
networks:
  app-net:
    driver: bridge
    ipam:
      config:
        - subnet: 10.5.0.0/16
0 голосов
/ 17 января 2020

попробуйте

version: '3'
services:
 app-phpmyadmin:
   image: phpmyadmin/phpmyadmin
   depends_on:
      - app-mysql
   ports:
     - '8081:80'
   container_name: app-phpmyadmin #name expose at list: docker ps
   hostname: app-phpmyadmin #hostname in network docker
   environment:
      PMA_HOST: app-mysql
      PMA_PORT: 3306
      PMA_USER: "root"
      PMA_PASSWORD: "root"

 app-mysql:
   image: mysql:5.7 #downgrade beacause mysql 8 generate error with phpmyadmin. error: caching_sha2_password
   container_name: app-mysql #name expose at list: docker ps
   hostname: app-mysql #hostname in network docker
   restart: always
   environment:
     MYSQL_ROOT_PASSWORD: root
   ports:
      - 3306

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...