docker run hello-world da como resultado el error "Uso incorrecto": "indicador provisto pero no definido: -console"

Cuando docker run hello-world aparece un error de "Uso incorrecto" (la salida completa se pega a continuación). Estoy ejecutando lo siguiente:

  • Docker 17.05.0-ce, build 89658be
  • docker-containerd 0.2.3 (commit 9048e5e)
  • runc v1.0.0-rc4
  • Kernel de Linux 4.1.15
  • Usar buildroot 2017.11 (commit 1f1a242) para generar toolchain / rootfs personalizados
  • sistemad 234

Parece como si pudiera tirar correctamente la image de mundo hello, ya que está incluida en la salida de las docker images . ¿Se pregunta si hay una incompatibilidad entre docker / containerd / runc? O tal vez algo obvio? Primera vez trabajando con docker.

Además, he ejecutado un script docker check-config.sh que encontré que indica que las únicas características de configuration del kernel que me faltan son opcionales. Son CONFIG_CGROUP_PIDS, CONFIG_CGROUP_HUGETLB, CONFIG_AUFS_FS, / dev / zfs, zfs command y zpool command. Todo lo demás, incluidos todos los requeridos, están habilitados.


Salida:

 # docker run hello-world [ 429.332968] device vethc0d83d1 entenetworking promiscuous mode [ 429.359681] IPv6: ADDRCONF(NETDEV_UP): vethc0d83d1: link is not ready Incorrect Usage. NAME: docker-runc create - create a container USAGE: docker-runc create [command options] <container-id> Where "<container-id>" is your name for the instance of the container that you are starting. The name you provide for the container instance must be unique on your host. DESCRIPTION: The create command creates an instance of a container for a bundle. The bundle is a directory with a specification file named "config.json" and a root filesystem. The specification file includes an args parameter. The args parameter is used to specify command(s) that get run when the container is started. To change the command(s) that get executed on start, edit the args parameter of the spec. See "runc spec --help" for more explanation. OPTIONS: --bundle value, -b value path to the root of the bundle directory, defaults to the current directory --console-socket value path to an AF_UNIX socket which will receive a file descriptor referencing the master end of the console's pseudoterminal --pid-file value specify the file to write the process id to --no-pivot do not use pivot root to jail process inside rootfs. This should be used whenever the rootfs is on top of a ramdisk --no-new-keyring do not create a new session keyring for the container. This will cause the container to inherit the calling processes session key --preserve-fds value Pass N additional file descriptors to the container (stdio + $LISTEN_FDS + N in total) (default: 0) flag provided but not defined: -console [ 429.832198] docker0: port 1(vethc0d83d1) entenetworking disabled state [ 429.849301] device vethc0d83d1 left promiscuous mode [ 429.859317] docker0: port 1(vethc0d83d1) entenetworking disabled state docker: Error response from daemon: oci runtime error: flag provided but not defined: -console. 

La opción -console fue reemplazada por --console-socket en runc Dec 2016 para v1.0.0-rc4.

Así que supongo que necesitas una versión anterior de runc o una versión más nueva de Docker.

Si está construyendo Docker usted mismo, use Docker 17.09.0-ce o una versión anterior de runc. No estoy seguro si eso es v0.1.1 o solo un 1.0 anterior como v1.0.0-rc2

Si estaba actualizando packages, algo ha ido mal con la installation. Probablemente purgue todo y vuelva a instalar Docker.