是否可以在 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."my-service" 构建 "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
失败,请参阅 here。
您也可以让 Docker Compose 为您构建图像(尽管强烈建议在这种情况下使用 withLocalCompose(true)
)
在我的 docker-compose.yaml 文件中,我使用图像 "my-service"(以及其他工作正常的远程图像)
version: "2"
services:
myservice:
image: my-service
通常我使用 io.fabric8 docker-maven-plugin."my-service" 构建 "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
失败,请参阅 here。
您也可以让 Docker Compose 为您构建图像(尽管强烈建议在这种情况下使用 withLocalCompose(true)
)