Поэтому я использую AWS Elastic Beanstalk для обслуживания моего PHP-приложения. Я хочу смонтировать EFS, чтобы иметь постоянное хранилище для изображений, загруженных через мое приложение. Я создал папку .ebextensions и создал один файл с именем mount.config с приведенным ниже кодом.
packages:
yum:
nfs-utils: []
jq: []
files:
"/tmp/mount-efs.sh" :
mode: "000755"
content: |
#!/usr/bin/env bash
mkdir -p /mnt/efs
EFS_NAME=$(/opt/elasticbeanstalk/bin/get-config environment | jq -r '.EFS_NAME')
mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2 $EFS_NAME:/ /mnt/efs || true
mkdir -p /mnt/efs/questions
chown webapp:webapp /mnt/efs/questions
commands:
01_mount:
command: "/tmp/mount-efs.sh"
container_commands:
01-symlink-uploads:
command: ln -s /mnt/efs/questions /var/app/ondeck/images/
Все работает нормально до последней строки, где не удается создать символическую ссылку.
Что я пробовал до сих пор:
- Выполнение команды непосредственно на машине при изменении ondeck -> current. Это прекрасно работает.
- Удаление экземпляра EC2 и добавление нового. Все еще терпит неудачу
В логах вижу
ln: не удалось создать символическую ссылку '/var/app/current/images/questions': нет такого файла или каталога
Любое предложение, что может быть причиной?