AnswerBun.com

Docker - error al iniciar contenedor

Stack Overflow en español Asked on November 30, 2020

Tengo dos contenedores para un proyecto de laravel uno con mysql y otro con apache, al arrancar el de mysql me da error.

Lo primero que hago es parar todos los contenedores con el comando "docker-compose down" y por pantalla me sale esto

Stopping backend-forms_app_1 ... done
Removing backend-forms_app_1 ... done
Removing database                 ... done
Removing network backend-bringforms_default

Y si realizo un "docker-compose

Creating network "backend-forms_default" with the default driver
Creating database ...
Creating database                 ... error
WARNING: Host is already in use by another container

Creating backend-forms_app_1 ... done

ERROR: for db  Cannot start service db: driver failed programming external connectivity on endpoint database (ee9216527529596af152a5e210b6f8a90e46badd3e29bb8f4c9e024b0da1cc2e): Bind for 0.0.0.0:3307 failed: port is already allocated
ERROR: Encountered errors while bringing up the project.

Fichero docker compose

version: '3.7'
services:
  app:
    build:
      context: .
      dockerfile: .docker/Dockerfile
    image: laravelapp
    command: php artisan serve --host 0.0.0.0 --port=8080
    ports:
      - 8080:8080
    environment:
      - SQL_HOST=db
    volumes:
      - ./:/var/www/html
  db:
    image: mysql:5.7
    container_name: database
    restart: always
    ports:
      - 3307:3306
    environment:
      - MYSQL_DATABASE=laraapp_db
      - MYSQL_ALLOW_EMPTY_PASSWORD=1
      - MYSQL_ROOT_PASSWORD=
      - MYSQL_HOST=
    volumes:
      - mysql_data:/var/lib/mysql

volumes:
    mysql_data:

One Answer

El problema que tienes es que se esta ejecutando primero la imagen app y luego la imagen de base de datos; la solucion para esto es sencilla debes agregar a la construccion de la imagen app que dependa de la ejecucion de la base de datos algo como depends:db el ejemplo completo a continuacion:

version: '3.7'
services:
  app:
    depends_on: 
      - db         
    build:
      context: .
      dockerfile: .docker/Dockerfile
    image: laravelapp
    command: php artisan serve --host 0.0.0.0 --port=8080
    ports:
      - 8080:8080
    environment:
      - SQL_HOST=db
    volumes:
      - ./:/var/www/html
  db:
    image: mysql:5.7
    container_name: database
    restart: always
    ports:
      - 3307:3306
    environment:
      - MYSQL_DATABASE=laraapp_db
      - MYSQL_ALLOW_EMPTY_PASSWORD=1
      - MYSQL_ROOT_PASSWORD=
      - MYSQL_HOST=
    volumes:
      - mysql_data:/var/lib/mysql

volumes:
    mysql_data:

Te invito a leer mas en la Documentación

Correct answer by JackNavaRow on November 30, 2020

Add your own answers!

Related Questions

Como puedo poner IF en jsx

1  Asked on December 12, 2020 by matist00

   

Macro con excel para sumar valores repetidos

0  Asked on December 12, 2020 by yeye727

     

Error al tratar de comparar dos count en sqlite

2  Asked on December 11, 2020 by andres

 

Hola, Quiseira sacar una tabla de regresión en R y Stata

1  Asked on December 11, 2020 by nicolas

     

Cálculos con duraciones de tiempo

1  Asked on December 10, 2020 by kintela

   

Tuplas a DataFrame (pandas)

3  Asked on December 9, 2020 by fioreitor

     

spread y nombre de filas y columnas

1  Asked on December 9, 2020 by iav

 

Como hago un botón que descargue un archivo?

0  Asked on December 9, 2020 by camilkdelevingn

   

¿Cómo almacenar muchas imágenes en la base de datos de firebase?

1  Asked on December 8, 2020 by alan-ortega

     

problema al llamar el método de php desde angular

2  Asked on December 8, 2020 by jossy

 

Collectstatic error mientras desplegaba Django app a Heroku

0  Asked on December 8, 2020 by fernando-lopez

       

calculadora solar añadir api pvgis

0  Asked on December 8, 2020 by juan-javier-escobar-rubio

         

ver si ya existe relacion OnetoOne en Django

1  Asked on December 7, 2020 by natogua

   

Ask a Question

Get help from others!

© 2022 AnswerBun.com. All rights reserved. Sites we Love: PCI Database, MenuIva, UKBizDB, Menu Kuliner, Sharing RPP, SolveDir