• Empleos
  • Sobre nosotros
  • profesionales
    • Inicio
    • Empleos
    • Cursos y retos
    • Preguntas
    • Profesores
  • empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Pruebas Online
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

1.1K
Vistas
Docker Laravel Mysql: no se pudo encontrar el controlador

Cuando ejecuto docker-compose up y ejecuto algunos comandos del composer , aparece un error

En Connection.php línea 664: no se pudo encontrar el controlador (SQL: seleccionar id , name de users En Connector.php línea 68: no se pudo encontrar el controlador...

¿Por qué Laravel no puede conectarse a mysql? Puedo hacer mysql -h db en docker-compose exec web bash y funciona.

mi configuración

docker-compose.yml

 version: '3' services: web: build: ./webserver ports: - "80:80" - "443:443" volumes: - //docker/dockertest/webserver/app:/var/www/vhosts/app links: - db command: - /usr/local/bin/apache2_install_composer_dependencies.sh db: image: mysql:8.0 container_name: db ports: - "3306:3306" command: --default-authentication-plugin=mysql_native_password environment: MYSQL_DATABASE: myDb MYSQL_USER: user MYSQL_PASSWORD: test MYSQL_ROOT_PASSWORD: test volumes: - //docker/dockertest/install/db_dump:/docker-entrypoint-initdb.d - persistent:/var/lib/mysql networks: - default phpmyadmin: image: phpmyadmin/phpmyadmin links: - db:db ports: - 8000:80 environment: MYSQL_USER: user MYSQL_PASSWORD: test MYSQL_ROOT_PASSWORD: test volumes: persistent:

Laravel .env (hago referencia a estos valores en config/database.php )

 ... DB_CONNECTION=mysql #host points to Docker container DB_HOST=db DB_PORT=3306 DB_DATABASE=myDb DB_USERNAME=user DB_PASSWORD=test ....

webserver/Dockerfile

 FROM php:7.2.19-apache-stretch # Configure Apache server COPY config_apache/sites-available /etc/apache2/sites-available # Create symlink in sites-enabled WORKDIR /etc/apache2/sites-enabled RUN ln -s /etc/apache2/sites-available/app.conf app.conf RUN mkdir -p /var/www/vhosts/app/logs COPY /build_files/install_composer_dependencies.sh /usr/local/bin/apache2_install_composer_dependencies.sh RUN apt-get update -y && apt-get install -y curl nano libapache2-mod-geoip git zip unzip mysql-client # Install Composer RUN curl -o /tmp/composer-setup.php https://getcomposer.org/installer \ && curl -o /tmp/composer-setup.sig https://composer.github.io/installer.sig \ # Verify installer && php -r "if (hash('SHA384', file_get_contents('/tmp/composer-setup.php')) !== trim(file_get_contents('/tmp/composer-setup.sig'))) { unlink('/tmp/composer-setup.php'); echo 'Invalid installer' . PHP_EOL; exit(1); }" \ && php /tmp/composer-setup.php --no-ansi --install-dir=/usr/local/bin --filename=composer --snapshot \ && rm -f /tmp/composer-setup.* RUN a2enmod rewrite RUN a2enmod geoip RUN service apache2 restart
about 3 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Agregar RUN docker-php-ext-install mysqli pdo pdo_mysql (sin mysql ) a Dockerfile como sugirió @NigelRen resolvió este error.

about 3 years ago · Santiago Trujillo Denunciar

0

intente instalar php-mysql con el siguiente comando sudo apt-get install php-mysql y reinicie su servidor

about 3 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda