Docker Desktop容器无法启动

    最近更新了最新版的Docker Desktop,发现下载了镜像却用原来的方式无法启动容器还会报错,最终才发现原来是Docker Desktop现在支持两种方式的容器一种是window容器,一种是linux容器。而Docker Desktop默认是启动的window容器,所以我下载下来的镜像都是无法用原来方式启动的。我用java(已经升级成openjdk)的镜像做演示。启动容器我没注意到容器的类型,所以我还是用原来linux容器启动,之后就报错了,看了报错描述才发现当前容器是window容器。

1.报错信息

#这种方式只能liunx容器执行不退出
docker run --name=java -d 7c4ed54e0ee8 tail /dev/null


报错信息:docker: Error response from daemon: container 9d8382d7769bea80a76e1081eebc38e9ad8562e19849e5aab941cace41380dfb encountered an error during hcsshim::System::CreateProcess: failure in a Windows system call: The system cannot find the file specified. (0x2)
[Event Detail:  Provider: 00000000-0000-0000-0000-000000000000]
[Event Detail:  Provider: 00000000-0000-0000-0000-000000000000]
[Event Detail: onecore\vm\compute\management\orchestration\vmhostedcontainer\processmanagement.cpp(173)\vmcomputeagent.exe!00007FF74C769FAB: (caller: 00007FF74C71E19A) Exception(2) tid(38c) 80070002 The system cannot find the file specified.
    CallContext:[\Bridge_ProcessMessage\VmHostedContainer_ExecuteProcess]
 Provider: 00000000-0000-0000-0000-000000000000].

Docker Desktop容器无法启动_第1张图片

 2.正常启动

通过上面的描述我发现是window容器,所以我切换成了window方式启动发现启动正常

#创建并启动容器
docker run --name=java -d 7c4ed54e0ee8 ping -t 127.0.0.1

#进入容器
docker exec -it 715abf8e2397 cmd

Docker Desktop容器无法启动_第2张图片

Docker Desktop容器无法启动_第3张图片 3.Docker Desktop切换容器

   在Docker Desktop中就可以直接切换容器类型。

Docker Desktop容器无法启动_第4张图片

3.修改镜像远程库地址

在Setings >> Docker Engine中配置以下内容然后点击保存

{
  "registry-mirrors": [
    "https://registry.docker-cn.com",
    "http://hub-mirror.c.163.com",
    "https://docker.mirrors.ustc.edu.cn"
  ],
  "insecure-registries": [],
  "debug": true,
  "experimental": false
}

https://registry.docker-cn.com是Docker中国区官方镜像地址
http://hub-mirror.c.163.com是网易地址
https://docker.mirrors.ustc.edu.cn是中国科技大学地址

你可能感兴趣的:(docker,docker,linux,运维)