Лучшие практики 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
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
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