Не могу получить Docker изображение - PullRequest
1 голос
/ 17 марта 2020

У меня есть 5 весенних пакетных тестов, которые я выполняю на конвейере Jenkins с использованием тестконтейнеров. Я получаю следующую ошибку только в ОДНОМ из тестов:

12:51:53  17 Mar 2020;17:51:41.498 [user:] [request:] [main] INFO 
12:51:53                  o.testcontainers.DockerClientFactory - Ryuk started - will monitor and terminate Testcontainers containers on JVM exit
12:51:53          [37m[1mℹ︎ Checking the system...[0m[0m
12:51:53          [32m✔ Docker version should be at least 1.6.0[0m
12:51:53  17 Mar 2020;17:51:41.508 [user:] [request:] [main] DEBUG
12:51:53                  c.g.d.core.command.AbstrDockerCmd - Cmd: f6fc0588843eb76a458bdc25cdc942fed474945aa3cfe7b635220dd1935dbfaa,<null>,true,<null>,<null>,<null>,<null>,{df,-P},<null>,<null>,com.github.dockerjava.core.exec.ExecCreateCmdExec@5cbe877d
12:51:53  17 Mar 2020;17:51:41.644 [user:] [request:] [tc-okhttp-stream-2116511124] DEBUG
12:51:53                  c.g.d.c.c.ExecStartResultCallback - STDOUT: Filesystem           1024-blocks    Used Available Capacity Mounted on
12:51:53  overlay              314561516  62506464 252055052  20% /
12:51:53  tmpfs                    65536         0     65536   0% /dev
12:51:53  tmpfs                  8132940         0   8132940   0% /sys/fs/cgroup
12:51:53  shm                      65536         0     65536   0% /dev/shm
12:51:53  /dev/xvdg1           314561516  62506464 252055052  20% /etc/resolv.conf
12:51:53  /dev/xvdg1           314561516  62506464 252055052  20% /etc/hostname
12:51:53  /dev/xvdg1           314561516  62506464 252055052  20% /etc/hosts
12:51:53  tmpfs                  8132940     25132   8107808   0% /run/docker.sock
12:51:53  tmpfs                  8132940         0   8132940   0% /proc/acpi
12:51:53  tmpfs                    65536         0     65536   0% /proc/kcore
12:51:53  tmpfs                    65536         0     65536   0% /proc/keys
12:51:53  tmpfs                    65536         0     65536   0% /proc/timer_list
12:51:53  tmpfs                    65536         0     65536   0% /proc/timer_stats
12:51:53  tmpfs                    65536         0     65536   0% /proc/sched_debug
12:51:53  tmpfs                  8132940         0   8132940   0% /proc/scsi
12:51:53  tmpfs                  8132940         0   8132940   0% /sys/firmware
12:51:53          [32m✔ Docker environment should have more than 2GB free disk space[0m
12:51:53  17 Mar 2020;17:51:41.690 [user:] [request:] [main] DEBUG
12:51:53                  c.g.d.core.command.AbstrDockerCmd - Cmd: ListImagesCmdImpl[imageNameFilter=<null>,showAll=false,filters=com.github.dockerjava.core.util.FiltersBuilder@0,execution=com.github.dockerjava.core.exec.ListImagesCmdExec@3ecd267f]
12:51:53  [ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 1.915 s <<< FAILURE! - in com.oranj.snowflake.account.VendorAccountTransactionSnowflakeConfigurationTest
12:51:53  [ERROR] com.oranj.snowflake.account.VendorAccountTransactionSnowflakeConfigurationTest  Time elapsed: 1.914 s  <<< ERROR!
12:51:53  org.testcontainers.containers.ContainerLaunchException: Container startup failed
12:51:53  Caused by: org.testcontainers.containers.ContainerFetchException: Can't get Docker image: RemoteDockerImage(imageNameFuture=java.util.concurrent.CompletableFuture@37ddb69a[Completed normally], imagePullPolicy=DefaultPullPolicy(), dockerClient=LazyDockerClient.INSTANCE)
12:51:53  Caused by: java.lang.IllegalStateException: Duplicate key ImageData(createdAt=1970-01-18T18:51:50.819Z)
12:51:53 

Кажется, что когда JVM завершает свою работу, она не выполняет надлежащую очистку после себя. Таким образом, когда он запускается снова, он пытается запустить контейнер, но он уже видит дубликат контейнера там. Это когда я повторяю тест несколько раз. Я не могу воспроизвести это на моем местном компьютере.

Среда:

  • Элемент списка
  • Версия сервера: 19.03.1
  • Версия API: 1.40
  • Операционная система: CentOS Linux 7 (Core)
  • Общая память: 15884 МБ
...