venderla vender una restaurar reiniciar puede pudo para ordenador macbook mac instalar este eliminar cuenta computadora como borrar administrador macos docker docker-compose daemon

macos - vender - no se puede instalar mac os x en este ordenador



No se pudo conectar con Docker daemon en Mac OS X (3)

Actualización para las versiones de Docker que vienen con Docker.app

La experiencia de Docker en macOS ha mejorado desde que se publicó esta respuesta:

  • El único requisito previo es que Docker.app esté ejecutando. Tenga en cuenta que iniciarlo bajo demanda lleva un tiempo, porque la VM Linux subyacente debe iniciarse.

  • Cualquier shell tiene acceso a la funcionalidad de Docker.

De forma predeterminada, Docker.app se inicia al iniciar sesión (puede cambiarlo a través de sus preferencias).
Si prefiere iniciar y detener Docker on demand desde la línea de comandos , aquí hay scripts bash que hacen eso, docker-start y docker-stop ; colóquelos en cualquier lugar de su $PATH .

Cuando docker-start lanza Docker.app , espera hasta que Docker haya terminado de iniciarse y esté listo.

docker-start :

#!/usr/bin/env bash case $1 in -h|--help) echo $''usage: docker-start/n/nStarts Docker (Docker.app) on macOS and waits until the Docker environment is initialized.'' exit 0 ;; esac (( $# )) && { echo "ARGUMENT ERROR: Unexpected argument(s) specified. Use -h for help." >&2; exit 2; } [[ $(uname) == ''Darwin'' ]] || { echo "This function only runs on macOS." >&2; exit 2; } echo "-- Starting Docker.app, if necessary..." open -g -a Docker.app || exit # Wait for the server to start up, if applicable. i=0 while ! docker system info &>/dev/null; do (( i++ == 0 )) && printf %s ''-- Waiting for Docker to finish starting up...'' || printf ''.'' sleep 1 done (( i )) && printf ''/n'' echo "-- Docker is ready."

docker-stop :

#!/usr/bin/env bash case $1 in -h|--help) echo $''usage: docker-stop/n/nStops Docker (Docker.app) on macOS.'' exit 0 ;; esac (( $# )) && { echo "ARGUMENT ERROR: Unexpected argument(s) specified. Use -h for help." >&2; exit 2; } [[ $(uname) == ''Darwin'' ]] || { echo "This function only runs on macOS." >&2; exit 2; } echo "-- Quitting Docker.app, if running..." osascript - <<''EOF'' || exit tell application "Docker" if it is running then quit it end tell EOF echo "-- Docker is stopped." echo "Caveat: Restarting it too quickly can cause errors."

Respuesta original y obsoleta:

La útil respuesta de Kevan Ahlquist muestra qué comandos agregar a tu perfil de Bash ( ~/.bash_profile ) para inicializar automáticamente Docker al abrir un shell interactivo.

Tenga en cuenta que siempre puede inicializar Docker en una nueva pestaña / ventana de shell abriendo application /Applications/Docker/Docker Quickstart Terminal.app (por ejemplo, a través de Spotlight).
Desde un shell existente, puede invocarlo como open -a ''Docker Quickstart Terminal.app'' (que también abre una nueva pestaña de shell).
Lo que ofrece esta respuesta es una forma conveniente de iniciar Docker en el shell actual .

Agregar las funciones de shell Bash a continuación - docker-start y docker-stop - mejora el enfoque de Kevan en los siguientes aspectos:

  • Puede ejecutar docker-start a demanda , sin la sobrecarga de iniciar la máquina virtual al abrir el shell (una vez que la máquina virtual Docker se está ejecutando, la inicialización es mucho más rápida, pero aún lleva una cantidad notable de tiempo).
    (Por supuesto, puede optar por invocar docker-start Docker desde su perfil).

  • Docker docker-stop permite detener Docker y limpiar las variables de entorno bajo demanda.

  • Las funciones aseguran que los mensajes de error de Docker no se supriman y pasan los códigos de salida de error de Docker.

  • Se proporciona información de estado adicional.

  • Puede pasar un nombre de VM como parámetro; el predeterminado es por default .

Ejemplo:

$ docker-start -- Starting Docker VM ''default'' (`docker-machine start default`; this will take a while)... Starting "default"... (default) Check network to re-create if needed... (default) Waiting for an IP... Machine "default" was started. Waiting for SSH to be available... Detecting the provisioner... Started machines may have new IP addresses. You may need to re-run the `docker-machine env` command. -- Setting DOCKER_* environment variables (`eval "$(docker-machine env default)"`)... DOCKER_CERT_PATH="/Users/jdoe/.docker/machine/machines/default" DOCKER_HOST="tcp://192.168.99.100:2376" DOCKER_MACHINE_NAME="default" DOCKER_TLS_VERIFY="1" -- Docker VM ''default'' is running. $ docker-stop -- Stopping Docker VM ''default'' (`docker-machine stop default`)... Stopping "default"... Machine "default" was stopped. -- Unsetting DOCKER_* environment variables (DOCKER_CERT_PATH, DOCKER_HOST, DOCKER_MACHINE_NAME, DOCKER_TLS_VERIFY)... -- Docker VM ''default'' is stopped.

Shell funciona para el inicio y la detención bajo demanda de Docker (colóquelos en, por ejemplo, ~/.bash_profile para una disponibilidad global en sus capas interactivas).

Nota : Las funciones funcionan en bash , ksh y zsh , pero en ksh tiene que cambiarles el nombre para no incluir un ''-'' en los nombres de las funciones.

function docker-start { typeset vm=${1:-default} sts case $vm in -h|--help) echo $''usage: docker-start [<vm>]/n/nEnsures that the specified/default Docker VM is started/nand the environment is initialized.'' return 0 ;; esac sts=$(docker-machine status "$vm") || return [[ $sts == ''Running'' ]] && echo "(Docker VM ''$vm'' is already running.)" || { echo "-- Starting Docker VM ''$vm'' (/`docker-machine start "$vm"/`; this will take a while)..."; docker-machine start "$vm" || return } echo "-- Setting DOCKER_* environment variables (/`eval /"/$(docker-machine env "$vm")/"/`)..." # Note: If the machine hasn''t fully finished starting up yet from a # previously launched-but-not-waited-for-completion `docker-machine status`, # the following may output error messages; alas, without signaling failure # via the exit code. Simply rerun this function to retry. eval "$(docker-machine env "$vm")" || return export | grep -o ''DOCKER_.*'' echo "-- Docker VM ''$vm'' is running." } function docker-stop { typeset vm=${1:-default} sts envVarNames fndx case $vm in -h|--help) echo $''usage: docker-stop [<vm>]/n/nEnsures that the specified/default Docker VM is stopped/nand the environment is cleaned up.'' return 0 ;; esac sts=$(docker-machine status "$vm") || return [[ $sts == ''Running'' ]] && { echo "-- Stopping Docker VM ''$vm'' (/`docker-machine stop "$vm"/`)..."; docker-machine stop "$vm" || return } || echo "(Docker VM ''$vm'' is not running.)" [[ -n $BASH_VERSION ]] && fndx=3 || fndx=1 # Bash prefixes defs. wit ''declare -x '' envVarNames=( $(export | awk -v fndx="$fndx" ''$fndx ~ /^DOCKER_/ { sub(/=.*/,"", $fndx); print $fndx }'') ) if [[ -n $envVarNames ]]; then echo "-- Unsetting DOCKER_* environment variables ($(echo "${envVarNames[@]}" | sed ''s/ /, /g''))..." unset "${envVarNames[@]}" else echo "(No DOCKER_* environment variables to unset.)" fi echo "-- Docker VM ''$vm'' is stopped." }

Me gustaría ejecutar aplicaciones de varios contenedores usando docker-compose en Mac OS X El Capitan (v10.11.2).

Sin embargo, el comando comando $ docker-compose up queja de que no se puede conectar al daemon de Docker.

ERROR: no se pudo conectar con el daemon de Docker; es posible que deba ejecutar el docker-machine start default .

Solo después de ejecutar $ eval "$(docker-machine env default)" tengo acceso al comando docker-compose .

¿Por qué es esto y cómo puedo superar este paso adicional?


Mi caso ayudó: detener + eliminar todos los contenedores Docker (Docker versión 1.13.0-rc4)

docker stop $(docker ps -a -q) docker rm $(docker ps -a -q)

Después de ejecutar este "docker-componer" sin error "ERROR: No se pudo conectar con el daemon de Docker. Es posible que tenga que iniciar Docker para Mac".

Quizás en algunos casos este mensaje de error solo sea causado por otros errores, es decir, problemas de espacio de memoria.


Tengo lo siguiente en mi ~/.bash_profile así que no tengo que ejecutar el comando env cada vez:

docker-machine start default 2>/dev/null # Hide output if machine is already running eval `docker-machine env default`