Рейтинг:2

Невозможно изменить разрешения внутри экземпляра AWS Docker ubuntu

флаг es

Я пытаюсь запустить бота разногласий в контейнере докера AWS ubuntu.

Мой Dockerfile выглядит так:

ИЗ убунту 
ДОБАВИТЬ Hydrabot.exe /
ДОБАВИТЬ bot_config.json/
ДОБАВИТЬ client_secrets.json/
ДОБАВИТЬ Cyberbit.ttf/
ДОБАВИТЬ учетные данные.txt/
ДОБАВИТЬ производительность.png /
CMD ["./hydrabot.exe"]

я бежал;

cd /dockerfiledirectory
sudo chown 1001:1001 /dockerfiledirectory
docker build -t произвольное имя.

И теперь я пытаюсь запустить: docker run -restart=always произвольное имя

Но я получаю ошибку;

docker: ответ об ошибке от демона: сбой создания среды выполнения OCI: container_linux.go:380: запуск процесса контейнера вызван: exec: "./hydrabot.exe": разрешение отклонено: неизвестно.

Я прочитал несколько тем о стеке, и это указывает на попытку установить разрешения локального каталога aws для выполнения в том виде, в каком они есть в настоящее время; -rw-rw-r-- 1 ubuntu ubuntu 45612135 27 января 12:25 HYDRAbot.exe

я пробовал оба chmod -x гидработ.exe и sudo -x гидработ.exe но не меняйте разрешения при повторной проверке.

Artur Meinild avatar
флаг vn
Вы пытаетесь запустить исполняемый файл Windows (.exe) в контейнере Ubuntu? Вот пытаюсь понять..
L23P avatar
флаг es
Да, почти @ArturMeinild. Дискорд-бот работал и ломался внутри нативного экземпляра aws, кто-то предложил попробовать запустить его в контейнере докеров.
lnee avatar
флаг td
Docker не эмулирует ядро, что означает, что исполняемые файлы Windows не могут работать в Linux, но вы можете запустить их в виртуальной машине Windows с помощью xen или qemu.
NotTheDr01ds avatar
флаг vn
@lnee Согласен, но даже в этом случае не в экземпляре / контейнере AWS Ubuntu (что, похоже, пытается сделать OP) любого рода, если только он не поддерживает вложенную виртуализацию, с которой (AFAIK) могут справиться только экземпляры Ubuntu с голым металлом в AWS.
lnee avatar
флаг td
но я думал, что aws использует xen
Рейтинг:3
флаг vn

Из комментариев в сочетании с вашим вопросом вы пытаетесь запустить:

  • исполняемый файл Windows
  • ... внутри образа Ubuntu Docker
  • ... внутри экземпляра Ubuntu AWS EC2.

Это просто не сработает. Для начала, чтобы запустить исполняемый файл Windows в Docker, вы должны использовать Окна Докер образ. Вы пытаетесь использовать образ Ubuntu.

Но даже если бы вы попытались использовать что-то вроде Майкрософт/виндовссерверкор image в качестве основы, это не будет работать на экземпляре Ubuntu EC2. Docker — это технология контейнеризации, которая требует, чтобы база операционная система может запускать приложения, поскольку ядро ​​​​распространяется между хостом и контейнером.

Дальше я волнуюсь. Я могу ошибаться, но мне кажется, что исполняемый файл, который вы пытаетесь запустить, является вредоносным ПО. Судя по моим (по общему признанию, быстрым) исследованиям, Hydra Bot не распространяется в виде исполняемого файла (ни для Windows, ни для Linux). Это оказание услуг предоставляется путем регистрации на их веб-сайте, а затем приглашения бота на ваш канал Discord.

Опять же, я могу ошибаться, но если это не так -- пожалуйста, подтвердите источник и будьте очень осторожны при попытке запуска исполняемых файлов из ненадежных источников.

L23P avatar
флаг es
С базы! Это бот для нашего флота (типа гильдии/клана) нас зовут "Гидра" хорошее место! И большое спасибо за ответ. В конце концов я решил отказаться от .exe, предполагая, что проблема в том, что вы подтвердили.Я запустил бота, декомпилировав .exe и просто используя необработанные .json и .py и т. д., необходимые для обычного бота разногласий. Кто-то из нашего флота прислал .exe, думая, что будет проще просто запустить его, чем возиться с дополнительными файлами. Причина, по которой мы выбрали экземпляр Ubuntu, заключалась в том, что он работал на его NAS, и именно так он размещал его до того, как я перешел на AWS для хостинга.
NotTheDr01ds avatar
флаг vn
@ L23P Отлично - рад слышать, что у вас все получилось, и вы определенно сделали это правильно. `.exe` (скомпилированный пакет Python) теперь имеет смысл -- спасибо за объяснение!

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.