Как скопировать исполняемый файл в контейнер Docker с помощью Testcontainers - PullRequest
1 голос
/ 16 апреля 2020

Я пытаюсь скопировать исполняемый скрипт инициализации 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...