Невозможно связать Docker-контейнеры из CLI - PullRequest
0 голосов
/ 27 апреля 2018

Я пытаюсь связать два Docker-контейнера (WordPress и MySQL) с помощью командной строки, но это не сработало. Я также пытался с docker-compose.yml, но работает только один контейнер, и я не могу связать оба контейнеры. Я использовал следующие команды. В настоящее время я использую AWS Amazon Linux AMI.

docker run --name db -e MYSQL_ROOT_PASSWORD=abc123 -p 3306:3306 -d mysql
docker run --name wordpress  --link db:mysql -p 80:80 -d wordpress.

После выполнения этих команд активен только один контейнер (MYSQL):

see image here

1 Ответ

0 голосов
/ 27 апреля 2018

Это легко управляемо, если вы настроите docker-compose.yml с обоими контейнерами в одной сети :

version: '3'
services:
  # Containers
  my_wp_container:
    # ...
    # Container config goes here
    # ...
    networks:
      # Make sure both containers are in the same network
      - my_network_name
    links:
      # "Linking" containers makes it easy to refer to one container from another
      - my_mysql_container

  my_mysql_container:
    # ...
    # Container config goes here
    # ...
    container_name: my_mysql_container
    networks:
      - my_network_name

networks:
  # No additional configuration is required for the network other than
  # creating it; You are of course free to customize it to your needs
  my_network_name:

Запуск docker-compose up раскручивает оба контейнера одновременно. Ваш контейнер WordPress (my_wp_container) может легко добраться до MySQL, поскольку my_mysql_container теперь является псевдонимом хоста, известным контейнеру WP.

Как только оба контейнера будут запущены, попробуйте SSH'ing в my_wp_container и запустите:

ping my_mysql_container

Вы должны увидеть, что один контейнер может связаться с другим в своей докерной сети!

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