Лучшие практики Docker: Docker создает образ архитектуры XXL-JOB ARM
Лучшие практики Docker: Docker создает образ архитектуры XXL-JOB ARM

Лучшие практики Docker: Docker создает образ архитектуры XXL-JOB ARM

2024 Практические документы по эксплуатации и обслуживанию Cloud Native, 2019 г. 99 оригинальный проект Нет. 020 Глава |Docker Серия лучших практик «2024» Нет. 012 Глава

Привет,добро пожаловать вКвалифицирован в эксплуатации и обслуживании

Контент, которым сегодня поделились, Docker Лучшая практика «2024» в серии документов Docker строить XXL-JOB ARM Изображение архитектуры

Платформа распределенного планирования задач XXL-JOB существовать DockerHub Только предусмотрено amd64 архитектурныйзеркало,Нет ARM Архитектурный.

dockerhub-xxl-job-admin
dockerhub-xxl-job-admin

В этой статье подробно объясняется, как существовать Mac сам за компьютером устанавливаю XXL-JOB ARM архитектурный Docker зеркало для удовлетворения потребностей адаптации к проектам локализации.

1. Предварительные условия

Эта статья применима к любой модели компьютера Mac с чипом M1 или выше. Я использую Mac Mini с чипом M1.

если правильно или неправильно Mac оборудование ARM чип Linux Сервер, Ява Установить Сумку необходимо заменить на Linux версия. Остальные рабочие процедуры и методы в основном такие же.

В этой статье не используется Docker многоступенчатыйстроить Способ,Вместо этого было принятосуществоватьсобственный компьютер Установитькомпилироватьотносящийся к окружающей средестроить Способ。

строитьсреда:

  • Maven3+(3.8.8
  • Jdk1.8+(jdk-8u411
  • Mysql8.0+(Не обязательно сражаться только с Сумкой

Исходный код Сумка и инструмент сборки Установить пути (пожалуйста, настройте в соответствии с реальной ситуацией):

  • Путь хранения суммы исходного кода: ~/tools/src
  • строитьинструмент Установитьпуть: ~/tools/
  • XXL-JOB Исходный код Сумка: ~/code/gitee/

2. Установите инструменты компиляции

2.1 Установите Java 1.8

  1. скачать Разархивируйте готовую к использованию версию Java

существовать macOS Java 8 Скачать адрес скачать Java Установить Сумка jdk-8u411-macosx-aarch64.tar.gz

  1. Программа декомпрессии Сумка
Язык кода:bash
копировать
tar xvf ~/tools/src/jdk-8u411-macosx-aarch64.tar.gz -C ~/tools/
  1. Настройка переменных среды

Архив файла конфигурации переменной среды,vi ~/.zshrc,Добавьте следующий контент в конец существующего файла:

Язык кода:bash
копировать
# Java
export JAVA_HOME=~/tools/jdk1.8.0_411.jdk/Contents/Home
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.
  1. Проверьте версию Java, чтобы убедиться, что установка прошла успешно.
Язык кода:bash
копировать
source ~/.zshrc
$ java -version
java version "1.8.0_411"
Java(TM) SE Runtime Environment (build 1.8.0_411-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.411-b09, mixed mode)

2.2 Установите Maven

  1. скачать разархивированную и готовую к использованию версию Maven
Язык кода:bash
копировать
wget https://dlcdn.apache.org/maven/maven-3/3.8.8/binaries/apache-maven-3.8.8-bin.tar.gz -P ~/tools/src/
  1. Программа декомпрессии Сумка
Язык кода:bash
копировать
tar xvf ~/tools/src/apache-maven-3.8.8-bin.tar.gz -C ~/tools/
  1. Настройка переменных среды

Архив файла конфигурации переменной среды,vi ~/.zshrc,Добавьте следующий контент в конец существующего файла:

Язык кода:bash
копировать
# Maven
export MAVEN_HOME=~/tools/apache-maven-3.8.8
export PATH=$PATH:${MAVEN_HOME}/bin
  1. Проверьте версию Maven, чтобы убедиться, что установка прошла успешно.
Язык кода:bash
копировать
source ~/.zshrc
$ mvn -version
Apache Maven 3.8.8 (4c87b05d9aedce574290d1acc98575ed5eb6cd39)
Maven home: /Users/opsxlab/tools/apache-maven-3.8.8
Java version: 1.8.0_411, vendor: Oracle Corporation, runtime: /Users/opsxlab/tools/jdk1.8.0_411.jdk/Contents/Home/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "mac os x", version: "14.5", arch: "aarch64", family: "mac"
  1. Добавить облако Алибаба maven склад(Необязательный

Добавить облако Алибаба maven Склад – ускоряется Jar зависит от скорости и успешности Сумки, вы можете обратиться к конфигурации в соответствии с условиями сети.

редактировать maven файл конфигурации settings.xml,vi ~/tools/apache-maven-3.8.8/conf/settings.xml

существовать <mirrors></mirrors> Добавить тег mirror Дочерний узел:

Язык кода:xml
копировать
<mirror>
    <id>aliyunmaven</id>
    <mirrorOf>*</mirrorOf>
    <name>Облако Alibaba общедоступноесклад</name>
    <url>https://maven.aliyun.com/repository/public</url>
</mirror>

3. Скомпилируйте пакет XXL-JOB Jar.

3.1 Загрузите пакет исходного кода XXL-JOB

Язык кода:bash
копировать
cd ~/code/gitee
git clone http://gitee.com/xuxueli0323/xxl-job

3.2 компилироватьстроить jar Сумка

Эта статья основана на tag v2.2.0 компилироватьстроить jar Сумка, вы можете выбрать соответствующую ветку кода или tag。

Язык кода:bash
копировать
cd ~/code/gitee/xxl-job
git checkout v2.2.0
mvn clean package -Dmaven.test.skip=true

После правильного выполнения результат вывода будет следующим:

Язык кода:bash
копировать
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for xxl-job 2.2.0:
[INFO]
[INFO] xxl-job ............................................ SUCCESS [  0.055 s]
[INFO] xxl-job-core ....................................... SUCCESS [  1.113 s]
[INFO] xxl-job-admin ...................................... SUCCESS [  1.631 s]
[INFO] xxl-job-executor-samples ........................... SUCCESS [  0.001 s]
[INFO] xxl-job-executor-sample-frameless .................. SUCCESS [  0.057 s]
[INFO] xxl-job-executor-sample-springboot ................. SUCCESS [  0.145 s]
[INFO] xxl-job-executor-sample-spring ..................... SUCCESS [  0.608 s]
[INFO] xxl-job-executor-sample-jfinal ..................... SUCCESS [  0.697 s]
[INFO] xxl-job-executor-sample-nutz ....................... SUCCESS [  0.658 s]
[INFO] xxl-job-executor-sample-jboot ...................... SUCCESS [  0.299 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  5.377 s
[INFO] Finished at: 2024-05-15T15:00:45+08:00
[INFO] ------------------------------------------------------------------------

проиллюстрировать: Вышеуказанный результат является результатом двойной компиляции, Нет будет загружено много файлов за один раз. jar Опираясь на Сумку, отнимает много времени и полагается на Интернет.

3.3 Проверьте успешно скомпилированный jar Сумка

Язык кода:bash
копировать
$ ls xxl-job-admin/target
classes                          maven-archiver                   xxl-job-admin-2.2.0.jar
generated-sources                maven-status                     xxl-job-admin-2.2.0.jar.original

4. строить XXL-JOB Docker зеркало

4.1 строить Docker зеркало

Docker зеркалоиз tag Правила именования и xxl-job Официально соответствует, но используя opsxlab префикс, измените его в соответствии с реальной ситуацией.

XXL-JOB Поставляется с исходным кодом Dockerfile,Используйте напрямую Maven строитьвнеиз jar Сумка, выполните следующую команду, создайте Docker зеркало。

Язык кода:bash
копировать
cd xxl-job-admin
docker build -t opsxlab/xxl-job-admin:2.2.0 .

После правильного выполнения результат вывода будет следующим:

Язык кода:bash
копировать
$ docker build -t opsxlab/xxl-job-admin:2.2.0 .
[+] Building 16.8s (9/9) FINISHED                                                                                                         docker:desktop-linux
 => [internal] load build definition from Dockerfile                                                                                                      0.0s
 => => transferring dockerfile: 329B                                                                                                                      0.0s
 => [internal] load metadata for docker.io/library/openjdk:8-jre-slim                                                                                    16.3s
 => [auth] library/openjdk:pull token for registry-1.docker.io                                                                                            0.0s
 => [internal] load .dockerignore                                                                                                                         0.0s
 => => transferring context: 2B                                                                                                                           0.0s
 => [1/3] FROM docker.io/library/openjdk:8-jre-slim@sha256:53186129237fbb8bc0a12dd36da6761f4c7a2a20233c20d4eb0d497e4045a4f5                               0.0s
 => [internal] load build context                                                                                                                         0.3s
 => => transferring context: 39.03MB                                                                                                                      0.3s
 => CACHED [2/3] RUN ln -snf /usr/share/zoneinfo/PRC /etc/localtime && echo PRC > /etc/timezone                                                           0.0s
 => [3/3] ADD target/xxl-job-admin-*.jar /app.jar                                                                                                         0.1s
 => exporting to image                                                                                                                                    0.1s
 => => exporting layers                                                                                                                                   0.1s
 => => writing image sha256:b76aeccf6a21a77b3890a9e9156edcbebe41d1e2872086e2b536cb873a537f1d                                                              0.0s
 => => naming to docker.io/opsxlab/xxl-job-admin:2.2.0                                                                                                    0.0s

4.2 Проверка архитектуры зеркала

Язык кода:bash
копировать
$ docker inspect opsxlab/xxl-job-admin:2.2.0 | grep "Architecture"
        "Architecture": "arm64",

4.3 Отправьте зеркало на свой склад

Язык кода:bash
копировать
docker push opsxlab/xxl-job-admin:2.2.0
opsxlab-xxl-job-admin
opsxlab-xxl-job-admin

4.4 Проверка развертывания

Для проверки развертывания необходимо создать базу данных. Эта статья опущена. Пройдите тест самостоятельно.

Вот и все,Это все, чем я делюсь сегодня. Я еще не подумал о том, чем поделюсь в следующем выпуске.,Следите за обновлениямиОткрытая глухая коробка

Если вам понравилась эта статья, поделитесь, добавьте в избранное, поставьте лайк и прокомментируйте! Пожалуйста, продолжайте обращать внимание @Operation&Maintenance Юшу, жди новых хороших статей!

Отказ от ответственности:

  • Уровень автора ограничен,Несмотря на многочисленные проверки и проверки,Мы прилагаем все усилия для обеспечения точности содержания.,Но могут быть еще какие-то упущения。Пожалуйста, дайте свой совет экспертам отрасли.。
  • Содержание, описанное в этой статье, было проверено и протестировано только в реальных боевых условиях.,Читатели могут учиться и извлекать уроки из,ноКатегорически запрещено использовать непосредственно в производственной среде.Автор не несет ответственности за любые проблемы, возникшие в связи с этим.

Заявление об авторских правах

  • Весь контент принадлежит оригиналу,Спасибо, что прочитали и собрали,Пожалуйста, свяжитесь с нами для получения разрешения на перепечатку. Воспроизведение без разрешения запрещено.
boy illustration
Углубленный анализ переполнения памяти CUDA: OutOfMemoryError: CUDA не хватает памяти. Попыталась выделить 3,21 Ги Б (GPU 0; всего 8,00 Ги Б).
boy illustration
[Решено] ошибка установки conda. Среда решения: не удалось выполнить первоначальное зависание. Повторная попытка с помощью файла (графическое руководство).
boy illustration
Прочитайте нейросетевую модель Трансформера в одной статье
boy illustration
.ART Теплые зимние предложения уже открыты
boy illustration
Сравнительная таблица описания кодов ошибок Amap
boy illustration
Уведомление о последних правилах Points Mall в декабре 2022 года.
boy illustration
Даже новички могут быстро приступить к работе с легким сервером приложений.
boy illustration
Взгляд на RSAC 2024|Защита конфиденциальности в эпоху больших моделей
boy illustration
Вы используете ИИ каждый день и до сих пор не знаете, как ИИ дает обратную связь? Одна статья для понимания реализации в коде Python общих функций потерь генеративных моделей + анализ принципов расчета.
boy illustration
Используйте (внутренний) почтовый ящик для образовательных учреждений, чтобы использовать Microsoft Family Bucket (1T дискового пространства на одном диске и версию Office 365 для образовательных учреждений)
boy illustration
Руководство по началу работы с оперативным проектом (7) Практическое сочетание оперативного письма — оперативного письма на основе интеллектуальной системы вопросов и ответов службы поддержки клиентов
boy illustration
[docker] Версия сервера «Чтение 3» — создайте свою собственную программу чтения веб-текста
boy illustration
Обзор Cloud-init и этапы создания в рамках PVE
boy illustration
Корпоративные пользователи используют пакет регистрационных ресурсов для регистрации ICP для веб-сайта и активации оплаты WeChat H5 (с кодом платежного узла версии API V3)
boy illustration
Подробное объяснение таких показателей производительности с высоким уровнем параллелизма, как QPS, TPS, RT и пропускная способность.
boy illustration
Удачи в конкурсе Python Essay Challenge, станьте первым, кто испытает новую функцию сообщества [Запускать блоки кода онлайн] и выиграйте множество изысканных подарков!
boy illustration
[Техническая посадка травы] Кровавая рвота и отделка позволяют вам необычным образом ощипывать гусиные перья! Не распространяйте информацию! ! !
boy illustration
[Официальное ограниченное по времени мероприятие] Сейчас ноябрь, напишите и получите приз
boy illustration
Прочтите это в одной статье: Учебник для няни по созданию сервера Huanshou Parlu на базе CVM-сервера.
boy illustration
Cloud Native | Что такое CRD (настраиваемые определения ресурсов) в K8s?
boy illustration
Как использовать Cloudflare CDN для настройки узла (CF самостоятельно выбирает IP) Гонконг, Китай/Азия узел/сводка и рекомендации внутреннего высокоскоростного IP-сегмента
boy illustration
Дополнительные правила вознаграждения амбассадоров акции в марте 2023 г.
boy illustration
Можно ли открыть частный сервер Phantom Beast Palu одним щелчком мыши? Супер простой урок для начинающих! (Прилагается метод обновления сервера)
boy illustration
[Играйте с Phantom Beast Palu] Обновите игровой сервер Phantom Beast Pallu одним щелчком мыши
boy illustration
Maotouhu делится: последний доступный внутри страны адрес склада исходного образа Docker 2024 года (обновлено 1 декабря)
boy illustration
Кодирование Base64 в MultipartFile
boy illustration
5 точек расширения SpringBoot, супер практично!
boy illustration
Глубокое понимание сопоставления индексов Elasticsearch.
boy illustration
15 рекомендуемых платформ разработки с нулевым кодом корпоративного уровня. Всегда найдется та, которая вам понравится.
boy illustration
Аннотация EasyExcel позволяет экспортировать с сохранением двух десятичных знаков.