虽然我使用maven docker插件构建,但未列出Docker镜像

时间:2016-05-02 15:15:36

标签: docker docker-compose maven-docker-plugin

我使用以下命令构建了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>

1 个答案:

答案 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不存在,导致上述错误