Я пытаюсь скопировать исполняемый скрипт инициализации bash init.sh
в контейнер Localstack Docker, созданный с помощью Testcontainers (1.13.0) с использованием модуля JUnit 5:
@Container
static LocalStackContainer localStack = new LocalStackContainer("0.10.0")
.withServices(S3)
.withCopyFileToContainer(MountableFile.forClasspathResource("init.sh"), "/docker-entrypoint-initaws.d/init.sh");
Но внутри созданного Docker контейнера у файла нет разрешения на выполнение (проверяется при просмотре разрешения файла с помощью docker exec -it ID /bin/sh
).
На моей машине файл имеет следующие разрешения:
$ ls -al
total 16
drwxr-xr-x 4 xyz staff 128 Apr 16 20:51 .
drwxr-xr-x 4 xyz staff 128 Apr 16 08:43 ..
-rw-r--r-- 1 xyz staff 135 Apr 16 20:14 application.yml
-rwxr-xr-x 1 xyz staff 121 Apr 16 20:51 init.sh
Я также пытался скопировать этот файл с .withClasspathResourceMapping()
, но для этого требуется режим привязки, который предлагает только READ_ONLY
или READ_WRITE
.