How do I run an ubuntu container on windows?

2019-04-29 17:50发布

问题:

I'm new to Docker and following through the Get started documentation, https://docs.docker.com/docker-for-windows/#explore-the-application-and-run-examples.

When I run 'docker run -it ubuntu bash' I get the following error:

Unable to find image 'ubuntu:latest' locally latest: Pulling from library/ubuntu C:\Program Files\Docker\Docker\Resources\bin\docker.exe: no matching manifest for windows/amd64 in the manifest list entries. See 'C:\Program Files\Docker\Docker\Resources\bin\docker.exe run --help'.

Here's additional docker information:

docker version

Client:
 Version:      17.06.1-ce
 API version:  1.30
 Go version:   go1.8.3
 Git commit:   874a737
 Built:        Thu Aug 17 22:48:20 2017
 OS/Arch:      windows/amd64

Server:
 Version:      17.06.1-ce
 API version:  1.30 (minimum version 1.24)
 Go version:   go1.8.3
 Git commit:   874a737
 Built:        Thu Aug 17 23:03:03 2017
 OS/Arch:      windows/amd64
 Experimental: true

docker info

Containers: 1
 Running: 0
 Paused: 0
 Stopped: 1
Images: 1
Server Version: 17.06.1-ce
Storage Driver: windowsfilter
 Windows:
Logging Driver: json-file
Plugins:
 Volume: local
 Network: l2bridge l2tunnel nat null overlay transparent
 Log: awslogs etwlogs fluentd json-file logentries splunk syslog
Swarm: inactive
Default Isolation: hyperv
Kernel Version: 10.0 15063 (15063.0.amd64fre.rs2_release.170317-1834)
Operating System: Windows 10 Pro
OSType: windows
Architecture: x86_64
CPUs: 12
Total Memory: 31.92GiB
ID: ZVBR:TM24:KXS3:NF5Y:WJTD:7JR3:S4UB:TFIZ:7G32:EHIL:4TKD:RK3V
Docker Root Dir: C:\ProgramData\Docker
Debug Mode (client): false
Debug Mode (server): true
 File Descriptors: -1
 Goroutines: 20
 System Time: 2017-09-28T10:05:53.8801328-07:00
 EventsListeners: 0
Registry: https://index.docker.io/v1/
Experimental: true
Insecure Registries:
 127.0.0.0/8
Live Restore Enabled: false

I'm a little confused why the OS/Arch version shows windows/amd64 while Architecture under info shows x86_64.

Any help with the error message would be great.

回答1:

Your issue is that your are using docker in Windows container mode and trying to pull a ubuntu image which is linux container image. You can't do that. You can run either windows containers or you can run linux containers.

You can switch to Linux container mode by right clicking on the docker tray icon as shown in below image

Also windows/amd64 and x86_64 is both indicate 64bit OS and nothing else