[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64

Прежде чем я начну рассказывать сегодня, я хотел бы порекомендовать очень интересную статью.

Статья «Принцип и проверка уязвимостей содержания файлов при тестировании на проникновение (1) - Обзор содержания файлов»🚀🌟🚀🌟🚀🌟

Ссылка:кликните сюда

В этой статье подробно объясняется, как работают уязвимости включения файлов, а также как обнаружить и проверить такие уязвимости в реальных веб-приложениях. В нем упоминалось, что уязвимости включения файлов обычно возникают в языках сценариев, таких как PHP. Когда разработчики не выполняют достаточную проверку имен файлов при внедрении файлов, это может привести к случайной утечке файлов или внедрению вредоносного кода.

В статье также представлены несколько PHP серединаизфайл содержит функцию,включатьinclude()include_once()require()иrequire_once(),И они ведут себя по-другому, когда файлы не найдены. также,Также в статье рассматриваются условия эксплуатации уязвимостей включения файлов.,Например, функция импортирует файлы через динамические переменные.,И пользователь может управлять этой динамической переменной.

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

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

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


введение

Благодаря быстрому развитию облачных вычислений и контейнерных технологий Docker стал одним из стандартных инструментов для создания, развертывания и запуска приложений. Гибкость и портативность Docker позволяют разработчикам легко развертывать приложения в различных средах. Однако с учетом диверсификации аппаратных архитектур, особенно популярности архитектуры ARM, разработчикам необходимо создавать образы Docker, которые могут работать на разных архитектурах.

Создание многоплатформенного образа Docker

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

Преимущества многоплатформенного зеркалирования

  1. гибкость:Разработчики могутстроитьодин Зеркало,Затем запустите на разных аппаратных архитектурах.,Нет необходимости иметь отдельное строит Зеркало для каждой архитектуры.
  2. экономить место:Мультиплатформенность Зеркало Может уменьшить место для храненияиззанимать,Потому что нужно хранить только один, содержащий все варианты платформы из Зеркало.
  3. Упрощение развертывания:在多个环境середина部署应用程序时,Может Упрощение процесс развертывания, потому что нужно управлять только одним Зеркало.

Шаги по созданию многоплатформенного образа

Создание мультиплатформенного образа обычно включает в себя следующие шаги:

  1. Установить Докер:убедитесь, что выизв системе Установить Понятно Docker。
  2. Настройка среды сборки:по мере необходимостистроитьизплатформа,Может потребоваться установка дополнительных инструментов или зависимостей.
  3. Написать Docker-файл:创建один Dockerfile, определяющий базу Зеркало и Процесс. сборки。
  4. использовать docker build Заказ:использовать docker build Закажите и укажите параметры платформы для построения Зеркало.

Создайте образ Docker для архитектуры ARM64.

чтобы создать файл с именем server:test123-arm64 из ARM64 Архитектура из Docker Взяв в качестве примера зеркалирование, мы можем использовать следующую команду:

Язык кода:bash
копировать
docker build -t "server:test123-arm64" --platform=linux/arm64 .

Анализ параметров команды

  • docker build:Это Docker строить Зеркалоиз Заказ。
  • -t "server:test123-arm64":这指定Понятностроитьиз Зеркало名称и标签。在этот例子середина,Зеркало зовут server,Этикетка test123-arm64
  • --platform=linux/arm64:этот参数指定Понятно目标платформа。linux/arm64 означает, что мы строим ARM64 Архитектура из Linux Зеркало.
  • .:это означает Dockerfile Расположен в текущем каталоге.

Написание Dockerfile

чтобы построить ARM64 Архитектура из Зеркало,你需要один Докерфайл. Ниже приводится простой из Dockerfile Пример построения Alpine Linux из ARM64 зеркало и установи в него Nginx:

Язык кода:Dockerfile
копировать
# использовать Alpine Linux В качестве основы Зеркало подходит для ARM64
FROM arm64v8/alpine:latest

# Установить Nginx
RUN apk add --no-cache nginx

# Воля Nginx из конфигурационного файла скопировать в контейнер
COPY nginx.conf /etc/nginx/nginx.conf

# незащищенный Nginx из порта
EXPOSE 80

# запускать Nginx Служить
CMD ["nginx", "-g", "daemon off;"]

Процесс сборки

  1. Подготовьте Docker-файл:убедитесь, что выиз Dockerfile Расположен в каталоге сборки из корневого каталога.
  2. бегатьстроить Заказ:在终端серединабегать上述 docker build Заказ。
  3. Посмотреть результаты сборки:строить После завершения,你Можетиспользовать docker images Закажите сборку из зеркала.

Управление и использование многоплатформенных изображений

После завершения сборки вы можете использовать другие Docker Как и в случае с зеркалированием, используйте многоплатформенное зеркалирование. Например, вы можете использовать docker run Команда для запуска контейнера:

Язык кода:bash
копировать
docker run -d -p 80:80 server:test123-arm64

этот Заказбудет на заднем планезапускатьодин容器,и отобразить контейнер из 80 Порт для хостинга 80 порт.

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose