Instalei o Magento em dois contêineres do Docker em um Mac, usando o script de instalação do Docker fornecido pelo Magento. O Docker fornece dois números IP, um para o host usando 127.0.0.1 e um número de porta (32772 nesse caso, o número de porta exposto para o host), o outro no intervalo 172.x.x.x (aqui 172.17.0.2).
Eu entrei, mudei algum valor trivial. Então eu cometi ambos os mecanismos do docker (Magento e Mysql) e os salvei em um arquivo tar. Eu carreguei esses arquivos no docker em um desktop Ubuntu 16.04. Depois de alguns erros iniciais e reinícios de ambos os mecanismos de encaixe, ele deve ter funcionado, mas falha em um ponto. Quando carrego o site em um navegador, ele é redirecionado para 127.0.0.1:32772, o que não funciona. O Magento lida com esse redirecionamento, de modo que funciona.
O Magento está configurado para redirecionar para um URL. Este URL ou IP é definido em uma tabela e é definido com o valor correto (172.17.0.2). Normalmente isso significa que o redirecionamento deve ser para 172.17.0.2, porta 80.
select * from core_config_data where path like '%base_url%';
A cache está limpa:
php bin/magento cache:clean && php bin/magento cache:flush
rm -rf var/cache/*
O cache do navegador está desmarcado (removeu completamente a pasta .mozilla), tentou uma janela privada também e eu instalei outro navegador apenas para ter certeza.
No contêiner docker magento2, instalei elinks, um navegador de linha de comando, e isso abre o site e o admin do magento usando o link . Eu vejo o formulário de login do administrador. Se eu abrir o site no navegador host, ele será redirecionado de 172.17.0.2 para 127.0.0.1:32772, incluindo um ID de sessão. Isso significa que o magento é executado e gera esse ID de sessão, mas não entendo o redirecionamento.
Em seguida, há este número de porta exposto, 32772. Este é o que está definido no Mac, e aposto que este não é o número que é usado na instalação do Ubuntu.
- Por que o redirecionamento continua acontecendo?
- Como posso fazer este site funcionar corretamente?
- Onde o número da porta exposta está definido e posso alterá-lo para um conatiner em execução?
- Como posso obter o número de porta correto para o contêiner atual?