从Docker Hub从我自己的公共仓库运行docker映像时出现问题

时间:2019-01-23 17:20:40

标签: docker

我在docker hub中有一个名为shaktidocker的仓库,它是公开的。我在存储库中有一张图片。

当我尝试使用下一条命令从本地docker开发主机运行该映像时:

docker run -P -d shaktidocker/docker-spring-boot-demo

它给了我下面的错误:

  

e75c891fa5403b0bb6ed1aa3b5e6a6760d4707219ecaff22727632cca741fa25
  / usr / bin / docker-current:来自守护程序的错误响应:linux spec用户:   无法找到用户shaktidocker:passwd文件中没有匹配的条目。

当我尝试从不同的公共仓库运行不同的图像时,它运行得很好。

请告知

2 个答案:

答案 0 :(得分:1)

您最常使用的Dockerfile包含以下行:

USER shaktidocker

这是在容器内定义Linux用户以运行命令,而不是Docker Hub上的用户ID。您很可能希望在尝试再次运行它之前,从Dockerfile中删除此行,重建,推送和拉取您的映像。

答案 1 :(得分:0)

由于某种原因,当您想默认启动容器时,似乎将存储库的名称用作运行容器的默认用户名。此用户名在基础系统中不存在,因此容器无法启动。

您可以尝试定义一个用来启动图像的用户:

docker run -P -d --user nobody shaktidocker/docker-spring-boot-demo

这样,您应该可以启动容器。