Обзор задачи

В статье рассматривается как быстро начать работу с werf, используя существующий в проекте Dockerfile. Мы выполним сборку Docker-образа приложения и загрузим его в Docker registry. В качестве примера приложения используется Linux Tweet App.

Требования

Выбор версии werf

Перед началом работы с werf необходимо выбрать версию werf, которую вы будете использовать. Для выбора актуальной версии werf в канале stable, релиза 1.0, выполним следующую команду:

. <(multiwerf use 1.0 stable)

Шаг 1: Конфигурация werf.yaml

Добавим файл werf.yaml, описывающий конфигурацию сборки образа приложения с использованием существующего в проекте Dockerfile.

  1. Склонируем репозиторий приложения Linux Tweet App:

    git clone https://github.com/dockersamples/linux_tweet_app.git
    cd linux_tweet_app
    
  2. В корневой папке приложения создадим файл werf.yaml со следующим содержимым:

    project: g-started
    configVersion: 1
    ---
    image: ~
    dockerfile: Dockerfile
    

Шаг 2: Сборка приложения

  1. Соберём образ приложения, выполнив команду в корневой папке:

    werf build --stages-storage :local
    
  2. Запустим контейнер на основе собранного образа:

    werf run --stages-storage :local --docker-options="-d -p 80:80"
    
  3. Проверим, что приложение запустилось и отвечает корректно, открыв в web-браузере http://localhost:80 либо выполнив:

    curl localhost:80
    

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

  1. Запустим Docker registry локально:

    docker run -d -p 5000:5000 --restart=always --name registry registry:2
    
  2. Загрузим образ приложения в Docker registry, предварительно протегировав его тегом v0.1.0:

    werf publish --stages-storage :local --images-repo localhost:5000/g-started --tag-custom v0.1.0
    

Что дальше?

Вначале ознакомьтесь с документацией по теме:

Либо переходите к знакомству со следующими примерами: