¿Has verificado si docker desktop está arrancado? Eso en el caso que uses docker desktop... que es lo más cómodo para tener Docker en local.
Error al arrancar los contenedores con Laradock en un Mac
Estoy siguiendo vuestra Guía de Laradock y no consigo arrancar los contenedores.
Estoy lanzando el comando tal cual aparece en el artículo, dentro de la carpeta de Laradock
docker-compose up -d nginx mariadb
El error que aparece es este:
Traceback (most recent call last):
File "urllib3/connectionpool.py", line 670, in urlopen
File "urllib3/connectionpool.py", line 392, in _make_request
File "http/client.py", line 1255, in request
File "http/client.py", line 1301, in _send_request
File "http/client.py", line 1250, in endheaders
File "http/client.py", line 1010, in _send_output
File "http/client.py", line 950, in send
File "docker/transport/unixconn.py", line 43, in connect
FileNotFoundError: [Errno 2] No such file or directory
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "requests/adapters.py", line 439, in send
File "urllib3/connectionpool.py", line 726, in urlopen
File "urllib3/util/retry.py", line 410, in increment
File "urllib3/packages/six.py", line 734, in reraise
File "urllib3/connectionpool.py", line 670, in urlopen
File "urllib3/connectionpool.py", line 392, in _make_request
File "http/client.py", line 1255, in request
File "http/client.py", line 1301, in _send_request
File "http/client.py", line 1250, in endheaders
File "http/client.py", line 1010, in _send_output
File "http/client.py", line 950, in send
File "docker/transport/unixconn.py", line 43, in connect
urllib3.exceptions.ProtocolError: ('Connection aborted.', FileNotFoundError(2, 'No such file or directory'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "docker/api/client.py", line 214, in _retrieve_server_version
File "docker/api/daemon.py", line 181, in version
File "docker/utils/decorators.py", line 46, in inner
File "docker/api/client.py", line 237, in _get
File "requests/sessions.py", line 543, in get
File "requests/sessions.py", line 530, in request
File "requests/sessions.py", line 643, in send
File "requests/adapters.py", line 498, in send
requests.exceptions.ConnectionError: ('Connection aborted.', FileNotFoundError(2, 'No such file or directory'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "docker-compose", line 3, in <module>
File "compose/cli/main.py", line 81, in main
File "compose/cli/main.py", line 200, in perform_command
File "compose/cli/command.py", line 60, in project_from_options
File "compose/cli/command.py", line 152, in get_project
File "compose/cli/docker_client.py", line 41, in get_client
File "compose/cli/docker_client.py", line 170, in docker_client
File "docker/api/client.py", line 197, in __init__
File "docker/api/client.py", line 221, in _retrieve_server_version
docker.errors.DockerException: Error while fetching server API version: ('Connection aborted.', FileNotFoundError(2, 'No such file or directory'))
[43795] Failed to execute script docker-compose
¿Será que hace falta instalar algo más, por ejemplo una versión de python por ejemplo?
Respuestas
El error que estás viendo generalmente ocurre cuando Docker no está ejecutándose en el sistema, o cuando el cliente de Docker (Docker Compose en este caso) no puede encontrar el socket de Docker.
Aquí hay algunos pasos que puedes seguir para resolver el problema:
Verifica que Docker esté corriendo:
Tal como dijo Miguel Si usas Docker Desktop sería verificar si se encuentra arrancado.
Si no tienes Docker Desktop asegúrate de que Docker esté ejecutándose en tu sistema. Puedes hacer esto ejecutando el siguiente comando:
systemctl status docker
Si Docker no está corriendo, puedes iniciarlo con:
systemctl start docker
Permisos para Docker
También puede ser un tema de permisos para Docker. Mira si usuario tiene permiso para ejecutar Docker sin sudo
. Puedes agregar tu usuario al grupo docker
con el siguiente comando:
sudo usermod -aG docker $USER
Luego, cierra sesión y vuelve a iniciar sesión para que los cambios surtan efecto.
Comprueba que Docker Compose esté instalado
Esto lo puedes hacer con el comando:
docker-compose --version
Si todo lo anterior no funcionó
Entonces verifica el archivo de Docker Compose no tiene errores. verifica la sintaxis del archivo docker-compose.yml
.
En último caso reinicia Docker para ver si se arregla o reinicia el ordenador o servidor.