Для дальнейшей работы с Docker в данном руководстве нам будет необходим некоторый пример приложения и для этого мы воспользуемся примером простого менеджера задача или todo list manager, который будет работать на основе сервера Node.js.
Представьте, что на данный момент ваша команда разработчиков довольно мала, и вы просто создаете приложение, чтобы доказать свой MVP (минимально жизнеспособный продукт).
Код приложения
Прежде чем мы сможем запустить приложение, нам нужно загрузить исходный код приложения на нашу машину. Для реальных проектов вы обычно клонируете repo с git. Но для этого урока мы создали ZIP-файл, содержащий приложение.
И так, делаем все по порядку:
- Загрузите содержимое приложения. Вы можете либо вытащить весь проект, либо загрузить его в виде zip-архива и извлечь папку приложения, чтобы начать работ
- После извлечения используйте свой любимый редактор кода, чтобы открыть проект. Если вам нужен редактор, вы можете использовать Visual Studio Code. Вы должны увидеть
package.json
и два подкаталога (src
иspec
).
Создание образа контейнера приложения
Чтобы создать приложение, нам нужно использовать Dockerfile
. Dockerfile — это просто текстовый сценарий инструкций, который используется для создания образа контейнера. Если вы уже создавали Dockerfile раньше, вы можете увидеть несколько недостатков в Dockerfile ниже. Но не волнуйтесь. Мы пройдемся по ним.
- Создайте файл с именем
Dockerfile
в той же папке, что и файлpackage.json
, со следующим содержимым
# syntax=docker/dockerfile:1
FROM node:12-alpine
RUN apk add --no-cache python g++ make
WORKDIR /app
COPY . .
RUN yarn install --production
CMD ["node", "src/index.js"]
2. Убедитесь, что файл Dockerfile
не имеет расширения, например .txt. Некоторые редакторы могут добавлять это расширение файла автоматически, и это приведет к ошибке на следующем шаге.
Откройте терминал и перейдите в каталог приложения с файлом Dockerfile
. Теперь создайте образ контейнера с помощью команды docker build
$ docker build -t getting-started .