【问题标题】:Docker image is not listed though I built using maven docker plugin尽管我使用 maven docker 插件构建,但未列出 Docker 映像
【发布时间】:2016-08-27 10:04:54
【问题描述】:

我已经使用以下命令构建了 docker 映像。 (使用 com.spotify:docker-maven-plugin:0.3.3 maven 插件)。我在 Windows 中使用 Docker 工具箱。

mvn clean package docker:build

它给出了以下描述。

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.yml 中的以下配置运行“docker-compose up my-tt-server”

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>

【问题讨论】:

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


    【解决方案1】:

    如果我运行“docker ps -a”,它应该会显示这个新图像。但我没有看到任何与此相关的图像。因此我无法启动/运行新图像。

    否:docker ps -a 列出容器,而不是图像。
    执行docker images 以查看图像列表,并使用docker run &lt;anImage&gt; 启动容器。

    如果你的镜像是在本地构建的,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不存在,导致上面的错误

    【讨论】:

    • 是的,你是对的。我可以看到图像 localhost/my-tt-server 1.1.x-SNAPSHOT d27ae98a8879 5 小时前 705.7 MB
    • @PShetty 你的意思是,你已经构建了一个镜像名称为“localhost/my-tt-server”的镜像;标签 1.1.x-SNAPSHOT?
    • 但是如果我从 docker-compose 运行它为什么不作为容器运行呢?
    • 是.. 存储库标签图像 ID 创建大小 localhost/my-tt-server 1.1.x-SNAPSHOT d27ae98a8879 5 小时前 705.7 MB
    • 如果我做 docker run localhost/my-tt-server:1.1.x-SNAPSHOT no such file or directory docker: Error response from daemon: Container command not found or does not exist..跨度>
    猜你喜欢
    • 2021-09-02
    • 2018-08-22
    • 2021-06-09
    • 1970-01-01
    • 1970-01-01
    • 2019-07-05
    • 1970-01-01
    • 2018-04-23
    • 2016-04-17
    相关资源
    最近更新 更多