JavaRush /Курсы /Модуль 2: Fullstack /Публикация образов в Docker Hub

Публикация образов в Docker Hub

Модуль 2: Fullstack
13 уровень , 8 лекция
Открыта

9.1 Публикация образов: команда docker push

Вы уже знаете, что Docker Hub — это облачная платформа для хранения, обмена и управления Docker-образами. Там разработчики могут легко делиться своими образами с коллегами или публиковать их для широкой аудитории. Работа с Docker Hub напоминает работу с Git. Основные команды — это docker push и docker pull. В этой лекции мы рассмотрим, как использовать эти команды для публикации и загрузки Docker-образов.

Команда docker push используется для отправки локальных Docker-образов в Docker Hub. Перед тем как опубликовать образ, убедитесь, что он помечен тегом, включающим ваше имя пользователя на Docker Hub.

Шаги для публикации образа

Шаг 1. Сборка Docker-образа:

Если у вас еще нет собранного образа, создайте его с помощью команды docker build.

Terminal


docker build -t myapp:latest . 

Шаг 2. Тегирование образа:

Чтобы опубликовать образ в Docker Hub, его нужно тегировать с указанием вашего Docker Hub имени пользователя.

Terminal


docker tag myapp:latest yourusername/myapp:latest 

Шаг 3. Публикация образа:

Используйте команду docker push для отправки образа в Docker Hub.

Terminal


docker push yourusername/myapp:latest

Пример:

Terminal


docker build -t myapp:1.0 .
docker tag myapp:1.0 yourusername/myapp:1.0
docker push yourusername/myapp:1.0

9.2 Загрузка образов: команда docker pull

Команда docker pull используется для загрузки образов из Docker Hub на вашу локальную машину. Это позволяет вам получить доступ к образам, опубликованным другими пользователями или вашей командой.

Шаги для загрузки образа

Шаг 1. Поиск образа:

Используйте команду docker search, чтобы найти нужный образ в Docker Hub.

Terminal


docker search nginx

Шаг 2. Загрузка образа:

Используйте команду docker pull, чтобы загрузить образ на вашу локальную машину.

Terminal


docker pull yourusername/myapp:latest

Пример:

Terminal


docker pull nginx:latest

9.3 Полный пример

Полный пример рабочего процесса публикации и загрузки образов:

Шаг 1: Сборка образа

Создайте Dockerfile для вашего приложения. Например, для приложения на Node.js:

dockerfile


# Используем базовый образ Node.js
FROM node:14
        
# Устанавливаем рабочую директорию
WORKDIR /app
        
# Копируем package.json и устанавливаем зависимости
COPY package*.json ./
RUN npm install
        
# Копируем остальной код приложения
COPY . .
        
# Открываем порт
EXPOSE 3000
        
# Запускаем приложение
CMD ["node", "app.js"] 

Соберите образ с помощью команды docker build.

Terminal


docker build -t mynodeapp:latest .

Шаг 2: Тегирование образа

Тегируйте образ с указанием вашего имени пользователя на Docker Hub.

Terminal


docker tag mynodeapp:latest yourusername/mynodeapp:latest 

Шаг 3: Публикация образа

Отправьте образ в Docker Hub.

Terminal


docker push yourusername/mynodeapp:latest 

Шаг 4: Загрузка образа

Теперь другой пользователь или ваш коллега может загрузить этот образ на свою локальную машину.

Terminal


docker pull yourusername/mynodeapp:latest 

Шаг 5: Запуск контейнера из загруженного образа

После загрузки образа вы можете запустить контейнер на его основе.

Terminal

        
docker run -d -p 3000:3000 yourusername/mynodeapp:latest 
3
Задача
Модуль 2: Fullstack, 13 уровень, 8 лекция
Недоступна
Публикация собственного образа в Docker Hub
Публикация собственного образа в Docker Hub
3
Задача
Модуль 2: Fullstack, 13 уровень, 8 лекция
Недоступна
Загрузка и запуск образа из Docker Hub
Загрузка и запуск образа из Docker Hub
3
Задача
Модуль 2: Fullstack, 13 уровень, 8 лекция
Недоступна
Обновление и повторная публикация образа в Docker Hub
Обновление и повторная публикация образа в Docker Hub
3
Задача
Модуль 2: Fullstack, 13 уровень, 8 лекция
Недоступна
Использование тега для версионирования образов
Использование тега для версионирования образов
1
Опрос
Управление образами, 13 уровень, 8 лекция
Недоступен
Управление образами
Управление образами
Комментарии (4)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Анастасия Уровень 47
19 декабря 2025
Вопрос из теста

Какая команда используется для установки зависимостей Python в Docker?
Зачем оно мне, я на фронта тут учусь? может быть каким-то универсальным вопросом заменить?
Андрей Уровень 45
13 ноября 2025
Что за дебилизм? Мое решение не принимал (хотя оно правильное, я сравнил с так называемым верным решением). Ну ладно думаю, посмотрю верное решение, а оно такое же!!! И тоде не принимается!!!! Говорит что Dockerfile и hello.py в разных папках!!! А по дереву классов в одной! И как тут решать? Задолбали эти баги! Наймите уже кого нибудь чтобы задания проверили!!! И еще. Кто дадумался в текстовое поле коментария, вот это в котором все пишут, сделать функцию перехода по странице????? Наджимаешь сочетание Ctrl + стрелка назад, и вместо ожидаемого перехода к началу слова, выкидывает на предыдущий урок!!!! Я раз пять коментарий переписывал!!!! Накипело, жуть!!!!!!!
Андрей Уровень 45
13 ноября 2025
23 попытки!!!!!!!!!!!
Иван Румянцев Уровень 23
17 марта 2025
Вы сами свои тесты проходили? В лекции одно пишите в ответе другое ожидаете.