Docker MySQL порт WordPress не подключается - PullRequest
1 голос
/ 30 апреля 2019

Я скачал изображения MySQL и WordPress.Mysql-порты

3306 localhost: 32781 33060 localhost: 32780

Конфигурация Wordpress

WORDPRESS_DB_HOST 192.168.99.100:32774

MYSQL_ROOT_PASSWORD и WORDPRESS_

Я пытаюсь подключиться к WordPress с помощью

http://192.168.99.100:32774/

Я получаю сообщение

Этот сайт недоступен

Как мне настроить порты mysql и wordpress?

КОНФИГУРАЦИЯ MYSQL

enter image description here

enter image description here

WORDPRESS

enter image description here

enter image description here

Ошибка трассировки

enter image description here

Ответы [ 2 ]

0 голосов
/ 30 апреля 2019

Из того, что вы можете найти на странице конфигурации докера, вы должны взять этот пример и изменить его в соответствии со своими потребностями. Существует следующий файл docker-compose, который запустит WordPress через минуту: https://docs.docker.com/compose/wordpress/

version: '3.3'

services:
   db:
     image: mysql:5.7
     volumes:
       - db_data:/var/lib/mysql
     restart: always
     environment:
       MYSQL_ROOT_PASSWORD: somewordpress
       MYSQL_DATABASE: wordpress
       MYSQL_USER: wordpress
       MYSQL_PASSWORD: wordpress

   wordpress:
     depends_on:
       - db
     image: wordpress:latest
     ports:
       - "8000:80"
     restart: always
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_USER: wordpress
       WORDPRESS_DB_PASSWORD: wordpress
       WORDPRESS_DB_NAME: wordpress
volumes:
    db_data: {}

Из этого файла у вас есть различные опции, например, с помощью инструмента создания докера (https://docs.docker.com/compose), или если у вас запущен рой, вы можете использовать команду стека докера (https://vsupalov.com/difference-docker-compose-and-docker-stack/) или вы можете разделить конфигурацию оба элемента и создайте отдельные Dockerfile (конфигурация файла Docker отличается от того, что вы можете видеть в docker-compose, поэтому возьмите информацию и создайте ее самостоятельно) и запустите их отдельно, сначала нужно запустить mysql, так как wordpress зависит от запуска bbdd в первую очередь .

0 голосов
/ 30 апреля 2019

Самый простой способ реализовать это - использовать docker-compose.Вот пример:

version: '3.2'

services:
  database:
    image: mysql:5.7
    volumes:
      - my_data:/var/lib/mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: root_password
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wp_user
      MYSQL_PASSWORD: password

  wordpress:
    depends_on:
      - database
    image: wordpress:php7.3-apache
    ports:
      - '8000:80'
    restart: always
    environment:
      WORDPRESS_DB_HOST: database:3306
      WORDPRESS_DB_USER: wp_user
      WORDPRESS_DB_PASSWORD: password
    working_dir: /var/www/html
volumes:
  my_data: {}

Несколько замечаний: база данных не монтирует порты на хосте, потому что в этом нет необходимости.Если вы не хотите использовать docker-compose, вы можете запустить команды docker run для этого, но затем вам нужно создать собственную сеть для контейнеров и присоединить их к ней.

Wordpress будет доступен на http://localhost:8000.

WORDPRESS_DB_HOST - это соединение с базой данных, и вы не сможете получить к нему доступ через http.

Надеюсь, это поможетвы.

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