Рано или поздно ИИ должен был добраться и до Docker — и сделал это через Docker Desktop. Новый помощник носит имя Ask Gordon и, по словам разработчиков, создан, чтобы упростить работу и помочь выжать максимум из экосистемы Docker.
Теперь, с появлением этой функции, вы можете выбрать из предложенных моделей — smollm2, llama3.2✶, gemma3 — или загрузить любую другую, хоть из Docker Hub, хоть с локального хранилища. Среди доступных в Hub встречаются gpt‑oss, qwen3-coder, deepseek‑r1-distill‑llama✶, mistral, deepcoder‑preview и многие другие.
Ask Gordon пока что находится в бета‑версии и доступен бесплатно.
И всё же — что он реально умеет? Станет ли он писать за вас Dockerfile и разворачивать контейнеры? Отчасти да. Его возможности включают:
Улучшение файлов Dockerfile;
Запуск и диагностику контейнеров;
Работу с образами и кодом;
Поиск уязвимостей и проблем в конфигурации;
Преобразование файлов Dockerfile для использования Docker Hardened Images.
Список впечатляющий — особенно пункт про поиск уязвимостей и конфигурационных ошибок. Автор обзора, Джек Уоллен, решил испытать нововведение, используя модель llama3.2.
Активация Ask Gordon и загрузка модели
Сначала откройте Docker Desktop (разумеется, он уже должен быть установлен). Убедитесь, что программа обновлена до последней версии, и в левой панели выберите пункт Ask Gordon (Beta). На открывшейся странице нажмите Enable. После подтверждения активация займёт считаные секунды.
Включение Ask Gordon в Docker Desktop
Далее нужно скачать модель для работы. Для этого в левой панели откройте раздел Models (Beta) и на появившейся странице найдите нужную модель.
При необходимости можно добавить несколько моделей
Нажмите кнопку pull напротив выбранной модели и дождитесь завершения загрузки. Имейте в виду, что одни модели весят гораздо больше других, так что учитывайте это при выборе.
После загрузки она появится на вкладке Local в разделе моделей.
Экспресс‑тест Ask Gordon
Для начала я сделал небольшой тестовый Dockerfile, чтобы дать его на проверку Ask Gordon. Файл выглядел так:
# Use a base image with Node.js pre-installed FROM node:18-alpine # Set the working directory inside the container WORKDIR /app # Copy package.json and package-lock.json to the working directory COPY package*.json ./ # Install application dependencies RUN npm install # Copy the rest of the application code COPY . . # Expose the port the application listens on EXPOSE 3000 # Define the command to run the application when the container starts CMD [«npm», «start»]
Далее я открыл вкладку Ask Gordon и написал:
check this dockerfile for errors
Вставил содержимое Dockerfile в поле запроса и нажал Enter. Ask Gordon взялся за работу, но, прежде чем выдать ответ, запросил папку для временных файлов. Почему — не знаю, но я создал тестовую директорию и выдал права. После этого он ответил:
Ваш Dockerfile выглядит аккуратным и соответствует распространённым рекомендациям. Однако давайте посмотрим, что можно улучшить:
Среди предложений было и такое:
Минимизируйте размер образа: Образ node:18-alpine уже довольно лёгкий, что хорошо. Но его можно сделать ещё компактнее, удалив лишние файлы после установки зависимостей: RUN npm install && npm cache clean —force
Что ж, неплохо. Остальные советы тоже были здравыми. В конце Ask Gordon предложил оптимизированный вариант моего Dockerfile:
# Use a base image with Node.js pre-installed FROM node:18-alpine # Set environment variables ENV NODE_ENV=production # Set the working directory inside the container WORKDIR /app # Copy package.json and package-lock.json to the working directory COPY package*.json ./ # Install application dependencies RUN npm install && npm cache clean —force # Copy the rest of the application code COPY . . # Add a non-root user for security RUN addgroup -S appgroup && adduser -S appuser -G appgroup USER appuser # Expose the port the application listens on EXPOSE 3000 # Define the command to run the application when the container starts CMD [«npm», «start»]
В завершение он отметил, что мой исходный файл уже следует лучшим практикам, а рекомендации — лишь дополнительные меры для безопасности, производительности и удобства сопровождения.
Если бы я вообще не знал, как пользоваться Dockerfile, Ask Gordon мог бы объяснить, с чего начать:
Как пользоваться Dockerfile?
В ответ он выдал подробный мануал по работе с Dockerfile. Местами текст был слегка расплывчатым (пропустил, например, шаг о создании самого файла), но в целом вполне точный.
Я не призываю немедленно включать Ask Gordon и поручать ему все контейнеры. Но для тех, кто только начинает работать с технологией, функция может стать очень полезным помощником.
Главное — проверяйте, верны ли его ответы. Если заметите ошибку, можно прямо сказать: «Команда docker run у тебя указана неверно». В идеале ИИ пересмотрит результат и поправит. Также стоит попробовать разные модели — возможно, одна из них будет давать более грамотные рекомендации.
Ask Gordon — закономерный шаг в развитии Docker Desktop. Попробуйте сами и посмотрите, сделает ли он ваш рабочий процесс эффективнее.
✶ Llama — проект компании Meta Platforms Inc., деятельность которой запрещена на территории Российской Федерации.
Хотите быть в курсе важных новостей из мира ИИ? Подписывайтесь на наш телеграм: BotHub AI News.
Источник: habr.com