我使用以下命令构建了docker镜像。 (使用com.spotify:docker-maven-plugin:0.3.3 maven插件)。我在Windows中使用Docker Tool Box。
mvn clean package docker:build
它为SUCCESS提供了以下描述。
Successfully built d27ae98a8879
[INFO] Built localhost/my-tt-server
[INFO] Tagging localhost/my-tt-server with 1.1.x-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
在此之后,如果我运行' docker ps -a',它应该显示这个新图像。但我没有看到任何与此相关的图像。因此,我无法启动/运行新图像。
我无法运行' docker-compose up my-tt-server'在docker-compose.yml中使用以下配置
my-tt-server:
container_name: my-tt-server
image: localhost/my-tt-server:1.1.x-SNAPSHOT
ports:
- "21883:1883"
- "28000:8000"
它出现以下错误
Creating my-tt-server
←[31mERROR←[0m: Container command not found or does not exist.
我不确定它出了什么问题。
请帮我解决这个问题。 看起来maven插件没有正确部署图像。如何正确部署?
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.3.3</version>
<configuration>
<dockerDirectory>${project.basedir}/src/main/docker</dockerDirectory>
<imageName>localhost/my-tt-server</imageName>
<imageTags>
<imageTag>${project.version}</imageTag>
</imageTags>
<forceTags>true</forceTags>
</configuration>
</plugin>
答案 0 :(得分:1)
如果我运行'
docker ps -a
',它应该显示这个新图像。但我没有看到任何与此相关的图像。因此,我无法启动/运行新图像。
否:docker ps -a
列出容器,而不是图像
执行docker images
查看图像列表,然后启动包含docker run <anImage>
的容器。
如果您的图片是在本地构建的,则image
directive of docker-compose应为:
image: localhost/my-tt-server:1.1.x-SNAPSHOT
确保该行末尾没有多余空格。
关于错误消息“Container command not found or does not exist
”,请参阅issue 20789:
原来我的问题是卷部分没有正确安装,因为在Windows版本中只有C:\ Users目录被挂载
或
原来那些shell脚本使用bash - 当然!只需更改为sh,因为bash不存在,导致上述错误