Docker: el sistema operativo de imagen "windows" no se puede utilizar en esta plataforma

89

Probé esto en mi máquina con Windows 10:

Dockerfile:

From microsoft/nanoserver
CMD ["echo", "Hello World"]

PD

C:\FSD\Docker\Trial1> docker build -t lea/leatest .
Sending build context to Docker daemon  2.048kB
Step 1/2 : FROM microsoft/nanoserver
latest: Pulling from microsoft/nanoserver
bce2fbc256ea: Pulling fs layer
58f68fa0ceda: Pulling fs layer
image operating system "windows" cannot be used on this platform
Lea A
fuente
1
Parece que su entorno Docker está configurado actualmente para usar contenedores de Linux, no contenedores de Windows.
Dan Lowe
¿Cuál es la pregunta?
Peter Mortensen

Respuestas:

126

Su host Docker está configurado para ejecutar contenedores de Linux dentro de una máquina virtual. Para ejecutar contenedores de Windows, debe "Cambiar a contenedores de Windows" en el menú de Docker. La documentación sobre eso está disponible aquí .


Ingrese la descripción de la imagen aquí

Ingrese la descripción de la imagen aquí

BMitch
fuente
1
Soy completamente nuevo en Docker, y para cualquier persona que también necesite encontrar el ícono Docker ** mini ** en la barra de herramientas, haga clic derecho y luego seleccione "Cambiar a contenedores de Windows" en el menú de Docker. Tenga en cuenta que debe reiniciar su estación de trabajo para completar el proceso.
arame3333
1
Por lo que vale, simplemente cambié a contenedores de Windows y no tuve que reiniciar ni nada. (Docker versión 17.12.0-ce, compilación c97c6d6)
mat007
¿Puede ejecutar contenedores de Windows y Linux al mismo tiempo en la misma máquina con Windows 10?
styfle
@styfle Lo anterior es un alternar, solo puede hacer uno a la vez. Se ha trabajado para permitir la elección de diferentes tiempos de ejecución para que pueda usar ambos simultáneamente: blogs.msdn.microsoft.com/premier_developer/2018/04/20/…
BMitch
1
He instalado Docker en Windows usando Docker toolbox, no veo el icono de Docker en la bandeja del sistema. ¿Cómo puedo hacerlo?
paul
27

Debe ir a la barra de tareas → hacer clic con el botón derecho en el icono de Docker → usar la opción Cambiar a contenedores de Windows ...

Fuente https://docs.docker.com/docker-for-windows/

Ingrese la descripción de la imagen aquí

pbaranski
fuente
He instalado Docker en Windows usando Docker toolbox, no veo el icono de Docker en la bandeja del sistema. ¿Cómo puedo hacerlo?
paul
@paul Me temo que esta solución es para Docker para Windows, no para Toolbox. Solo para agregar Docker para Windows se recomienda software sobre Toolbox con respecto a la interfaz (como la opción de contenedores de Windows mencionada)
pbaranski
Docker for Windowsse prefiere sobre Docker Toolbox? ¿Porque?
paul
@paul Solo estoy transmitiendo la respuesta del personal de Docker aquí: forums.docker.com/t/docker-for-windows-or-docker-toolbox/30387 , por contradicción agregaré este recurso: medium.com/short-stories-on- software / ... por lo que debe decidir según su criterio: D
pbaranski
5

microsoft/nanoserveres una imagen de contenedor nativa de Windows. Por lo tanto, no puede ejecutar esto ya que los contenedores de Linux se ejecutan de forma nativa. Solo se puede ejecutar en Windows 10 o Windows Server.

Si está en Windows 10, puede cambiar a contenedores de Windows seleccionando

cambiar a contenedores de Windows

prisar
fuente
2

Cambiar a Windows Container debe seleccionarse desde el icono de la ventana acoplable que se ejecuta bajo el icono oculto de la parte inferior derecha ... En el momento en que cambia de Linux a Windows o de Windows a Linux ,Docker daemon se reinicia automáticamente para considerar el cambio de contenedor ...


Le recomiendo encarecidamente que vea estos 2 enlaces para obtener más información sobre cómo crear contenedores de ventana:


Realmente encontré el contenido de estos enlaces muy útil para hacer un contenedor de ventana que aún se está mejorando para el problema genérico que todos enfrentamos, ¡ya que el soporte para el contenedor de ventana aún no ha madurado como los contenedores de Linux!

Abhishek Jain
fuente