es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

No se puede resolver el nombre de host en Docker Desktop Windows.

He configurado docker-compose para ejecutar phpmyadmin y mysql. Aquí está mi docker-compose.yml:

version: "3.9"
networks:
    local_web_network:
        driver: bridge
volumes:
    mysql_data:
        driver: local
services:
    mysql:
        image: mysql:8.0
        container_name: local_mysql
        restart: always
        tty: true
        ports:
            - "3306:3306"
        command: --default-authentication-plugin=mysql_native_password
        environment:
            MYSQL_DATABASE: local_master
            MYSQL_ROOT_PASSWORD: secret
            MYSQL_USER: homestead
            MYSQL_PASSWORD: secret
        volumes:
            - mysql_data:/var/lib/mysql
        networks:
            - local_web_network
    phpmyadmin:
        image: phpmyadmin/phpmyadmin
        container_name: local_phpmyadmin
        restart: always
        tty: true
        ports:
            - "8083:80"
        environment:
            PMA_HOST: local_mysql
            PMA_ABSOLUTE_URI: http://db.test
            MYSQL_ROOT_PASSWORD: secret
        networks:
            - local_web_network
        extra_hosts:
            - 'db.test:127.0.0.1'

He configurado el archivo hosts de Windows con la siguiente configuración:

127.0.0.1 db.test

He ejecutado correctamente los contenedores de Docker sin errores. He intentado acceder a la página http://127.0.0.1:8083` ohttp://db.test:8083` y funciona, muestra la página de inicio de sesión de phpmyadmin.

Pero el problema es que no puedo acceder a la página sin especificar el puerto, es decir, `http://db.test`. ¿Cómo puedo hacer que funcione sin especificar el puerto?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para acceder a la página de phpmyadmin sin especificar el puerto, puedes modificar el archivo docker-compose.yml para usar el puerto 80 en lugar del puerto 8083. Deberías cambiar la siguiente línea:

    - "8083:80"
    

    a

    - "80:80"
    

    Luego podrías acceder a la página de phpmyadmin en http://db.test` en lugar dehttp://db.test:8083`.

    Alternativamente, puedes configurar tu servidor web (como Apache o Nginx) para redirigir las solicitudes de db.test a 127.0.0.1:8083.

Comments are closed.