簡體   English   中英

是否可以在docker-compose文件中為DockerComposeContainer使用本地Docker映像?

[英]Is it possible to use a local Docker image in a docker-compose file for DockerComposeContainer?

在我的docker-compose.yaml文件中,我使用圖像“ my-service”(在其他工作正常的遠程圖像中)

version: "2"
services:
  myservice:
    image: my-service

通常,我使用io.fabric8 docker-maven-plugin使用maven構建“ my-service”映像。

我的Dockerfile:

FROM vertx/vertx3-alpine
ENV VERTICLE_HOME /opt/lib
ENV NAME my-service
ENV EXEC_JAR_NAME my-service.jar
COPY target/my-service-1.0-SNAPSHOT.jar $VERTICLE_HOME/$EXEC_JAR_NAME
COPY target/lib $VERTICLE_HOME
COPY src/main/resources/settings.json /etc/company/myservice/settings.json
ENTRYPOINT ["sh", "-c"]
CMD ["java -cp $VERTICLE_HOME/$EXEC_JAR_NAME com.company.myservice.MyVerticle"]

有沒有辦法使用Testcontainers的DockerComposeContainer來讓docker-compose使用我的本地服務映像?

這是我的測試設置

public class MyServiceIT {
    @ClassRule
    public static DockerComposeContainer compose =
            new DockerComposeContainer(new File("src/test/resources/docker-compose.yml"));

目前,由於使用本地圖像,我收到以下錯誤消息。

7:15:34.282 [tc-okhttp-stream-454305524] INFO 🐳 [docker/compose:1.8.0] - STDERR: pull access denied for my-service, repository does not exist or may require 'docker login'
17:15:34.283 [main] WARN org.testcontainers.containers.DockerComposeContainer - Exception while pulling images, using local images if available

聽起來我需要構建要在測試中使用的圖像,但是我不確定該怎么做。

那不是錯誤消息,而只是如果docker-compose pull失敗的警告,請參閱此處

您也可以讓Docker Compose為您構建映像(盡管在這種情況下,強烈建議與withLocalCompose(true)一起使用)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM