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.
docker build -t myapp:latest .
Шаг 2. Тегирование образа:
Чтобы опубликовать образ в Docker Hub, его нужно тегировать с указанием вашего Docker Hub имени пользователя.
docker tag myapp:latest yourusername/myapp:latest
Шаг 3. Публикация образа:
Используйте команду docker push для отправки образа в Docker Hub.
docker push yourusername/myapp:latest
Пример:
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.
docker search nginx
Шаг 2. Загрузка образа:
Используйте команду docker pull, чтобы загрузить образ на вашу локальную машину.
docker pull yourusername/myapp:latest
Пример:
docker pull nginx:latest
9.3 Полный пример
Полный пример рабочего процесса публикации и загрузки образов:
Шаг 1: Сборка образа
Создайте Dockerfile для вашего приложения. Например, для приложения на Node.js:
# Используем базовый образ Node.js
FROM node:14
# Устанавливаем рабочую директорию
WORKDIR /app
# Копируем package.json и устанавливаем зависимости
COPY package*.json ./
RUN npm install
# Копируем остальной код приложения
COPY . .
# Открываем порт
EXPOSE 3000
# Запускаем приложение
CMD ["node", "app.js"]
Соберите образ с помощью команды docker build.
docker build -t mynodeapp:latest .
Шаг 2: Тегирование образа
Тегируйте образ с указанием вашего имени пользователя на Docker Hub.
docker tag mynodeapp:latest yourusername/mynodeapp:latest
Шаг 3: Публикация образа
Отправьте образ в Docker Hub.
docker push yourusername/mynodeapp:latest
Шаг 4: Загрузка образа
Теперь другой пользователь или ваш коллега может загрузить этот образ на свою локальную машину.
docker pull yourusername/mynodeapp:latest
Шаг 5: Запуск контейнера из загруженного образа
После загрузки образа вы можете запустить контейнер на его основе.
docker run -d -p 3000:3000 yourusername/mynodeapp:latest
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ