1

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

1 回答 1

1

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

否:docker ps -a列出容器,而不是图像。
执行 adocker images查看图像列表,并使用docker run <anImage>.

如果你的镜像是在本地构建的image,docker-compose 的指令应该是:

image: localhost/my-tt-server:1.1.x-SNAPSHOT

确保该行末尾没有多余的空格。

关于错误消息“ Container command not found or does not exist”,请参阅问题 20789

原来我的问题是卷部分没有正确安装,因为在 Windows 版本上只有 C:\Users 目录被安装

或者

原来那些 shell 脚本使用 bash —— 当然!简单改成sh,因为bash不存在,导致上面的错误

于 2016-05-02T15:20:04.137 回答