Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Dúvida aplicação

Professor, boa tarde ... Vê se pode me ajudar com essa aplicação. Subi 2 serviços, um de mysql e outro wordpress. Eu subi o mesmo fora das vms e sem ser serviço e deu certo, eu sei que tenho que entrar no arquivo wp-config.php e colocar o nome do host correto. Porém nas vms não está dando certo achar o nome correto para o host Estou subindo com os comandos abaixo.

docker service create --name mysql -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=dba -e MYSQL_USER=admin -e MYSQL_PASSWORD=root mysql:5.7

docker service create --name my_wordpress -p 9595:80 -e WORDPRESS_DB_USER=admin -e WORDPRESS_DB_PASSWORD=root -e WORDPRESS_DB_NAME=dba -e WORDPRESS_TABLE_PREFIX=wp_dba wordpress

Está dando o erro Error establishing a database connection

// ** MySQL settings - You can get this info from your web host ** // /** The name of the database for WordPress */ define( 'DB_NAME', 'dba');

/** MySQL database username */ define( 'DB_USER', 'admin');

/** MySQL database password */ define( 'DB_PASSWORD', 'root');

/** MySQL hostname */ define( 'DB_HOST', 'mysql');(AQUI EU COLOCO ESTE NOME OU O NOME DO SERVIÇO OU NOME DO CONTAINER QUE CRIOU?)

/** Database Charset to use in creating database tables. */ define( 'DB_CHARSET', 'utf8');

/** The Database Collate type. Don't change this if in doubt. */ define( 'DB_COLLATE', '');

2 respostas
solução!

Olá Neto, tudo bem? Nesse caso você deve usar o nome do serviço do MySQL, tento em vista que você criou duas replicas, e que penso que seu objetivo seja criar um cluster MySQL, onde tenha o mesmo sendo executado em dois hosts porém trabalhando como se fosse um banco de dados só. Então você deve realmente definir dessa forma:

define( 'DB_HOST', 'mysql');

Porém pode ainda não funcionar por causa da rede, caso falhe a conexão novamente, você deve criar uma rede de sobreposição com um comando semelhante a esse:

docker network create --driver overlay mynet

E depois recriar os serviços adicionando os mesmo nesse rede mynet.

Você também pode ter uma boa leitura com algum muito semelhante ao que você deseja fazer nesse artigo: Introduction to Docker Swarm Mode and Multi-Host Networking.

Espero ter ajudado!

Rapaz, já tinha quebrado a cabeça uns 3 dias com isso, só foi criar e subir os containers que deu certo. Valeuuuuu demais