Мы с другом хотели сделать дискорд сервер. Я сделал бота на С#, и мне нужно было что-то для его размещения, чтобы он мог работать 24/7, я выбрал Digitalocean. Я создал дроплет ubuntu 18.04, установил на него dotnet sdk и клонировал свой репозиторий бота на github (я знаю, что это не лучшее решение). Но когда я попытался сделать dotnet run
, я получил ошибку «Доступ к пути путь ' ' запрещен. Я получил ту же ошибку, когда попробовал использовать докер на Ubuntu 16.04. Может ли кто-нибудь помочь мне с этой проблемой? (на виндовс 10 работало нормально)
Докерфайл:
FROM microsoft/dotnet:2.1-sdk
WORKDIR /app
# copy csproj and restore as distinct layers
COPY *.csproj ./
RUN dotnet restore
# copy and build everything else
COPY . ./
RUN dotnet publish -c Release -o out
ENTRYPOINT ["dotnet", "out/Bot.dll"]
Ошибка:
Unhandled Exception: System.UnauthorizedAccessException: Access to the path '/app/out' is denied. ---> System.IO.IOException: Permission denied
--- End of inner exception stack trace ---
at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String path, OpenFlags flags, Int32 mode)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options)
at Bot.Program.MainAsync() in /app/Program.cs:line 38
at Bot.Program.Main(String[] args) in /app/Program.cs:line 16
chmod -x и chmod -R 777 не работали
dotnet run
не работает? - person Frontear   schedule 28.11.2018chmod +x FILETHATNEEDSACCESSTO
, чтобы дать ему права на выполнение. По крайней мере, у меня была эта проблема. - person Twenty   schedule 29.11.2018