Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 3344|Отговор: 1

[Източник] Промени в базовия образ на Docker за .NET 8

[Копирай линк]
Публикувано в 23.12.2023 г. 17:30:10 ч. | | | |
Преди .NET 8, контейнерите по подразбиране работеха като root, а от .NET 8 всички наши Linux образи на контейнери ще съдържат потребители, които не са root файлове. Ще можете да хоствате .NET контейнери с един ред код като потребител без root. Тази промяна на ниво платформа ще направи вашето приложение по-сигурно и ще направи .NET една от най-сигурните екосистеми за разработчици. Това е малка промяна, но има голямо влияние върху защитата в дълбочина.

Разберете UID и GID в Docker контейнерите

По подразбиране процесът в контейнера се изпълнява с root потребителски права, като този root потребител е същият потребител като root в хост машината. Не звучи ли това страшно, защото означава, че след като процесът в контейнера получи правилния шанс, може да контролира всичко на хост машината!

Препратка:Входът към хиперлинк е видим.

.NET 8 Docker изображение

Има две основни промени в образа на .NET 8 Docker, както следва:

  • Image създава нов акаунт и група в приложението, и по подразбиране стартира приложението с акаунта
  • Превключих на порт 8080 и се оказа, че е порт 80, тъй като порт 80 е привилегирован порт, коренните права са необходими (поне на някои места).


.NET адрес на изходния код на изображението на Docker:Входът към хиперлинк е видим.

Зависимостите са следните:

aspnet:8.0-bookworm-slim -> dotnet/runtime-8.0.0-bookworm-slim-amd64 -> dotnet/runtime-deps-8.0.0-bookworm-slim-amd64 -> amd64/debian:bookworm-slim

dotnet/runtime-deps-8.0.0-bookworm-slim-amd64 изглежда така:

Както е показано по-долу:



Използвайте акаунта в приложението, за да въведете основното изображение, и командата е следната:

Изведете текущите потребителски и средни променливи, както е показано на следващата фигура:



Препратка:Входът към хиперлинк е видим.

Dockerfile файл

Ако трябва да пакетирате проекта си в Docker образ, трябва да създадете нова поддръжка за .NET 8 Docker контейнер, а стандартната конфигурация на файловете Dockerfile в Linux средата е следната:

Ако зададете системната часова зона в Dockerfile, следният код:

Грешката при отказано разрешение може да възникне по следния начин:

4>F:\itsvse\Dockerfile : грешка CTC1014: #21 [финална 3/3] RUN ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo Asia/Shanghai > /etc/timezone
4>F:\itsvse\Dockerfile : грешка CTC1014: #21 0.314 ln: не успя да създаде символна връзка '/etc/localtime': Разрешението отказано
4>F:\itsvse\Dockerfile : грешка CTC1014: #21 ГРЕШКА: процесът "/bin/sh -c ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone" не завърши успешно: код за изход: 1
4>F:\itsvse\Dockerfile : грешка CTC1014: ------
4>F:\itsvse\Dockerfile : грешка CTC1014: > [финални 3/3] RUN ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo Asia/Shanghai > /etc/timezone:
4>F:\itsvse\Dockerfile : грешка CTC1014: #21 0.314 ln: не успя да създаде символна връзка '/etc/localtime': Разрешението отказано
Използвайте root акаунта, за да зададете часовата зона, след това се върнете към акаунта в приложението и го променете по следния начин:

(Край)





Предишен:.NET/C# за събиране на метода ToLookup
Следващ:PHP получава цялата информация за заглавията
 Хазяин| Публикувано в 23.12.2023 г. 17:31:55 ч. |
Препоръчват се два инструмента за анализ на слоя на изображението в Docker
https://www.itsvse.com/thread-10063-1-1.html
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com