Сървър

Създаване на Dockerfiles, Dockerignore и Docker Compose

Създаване на Dockerfiles, Dockerignore и Docker Compose

Един от най-добрите начини за автоматизиране на Docker за автоматично изграждане на изображения е чрез използване на Dockerfile. Dockerfile е прост текстов документ, който съдържа всички команди, които потребителят може да извика в командния ред, за да събере изображение.

В този урок ще ви покажем стъпка по стъпка процес на създаване на Dockerfile за приложение nodeJS, създаване на Dockerignore и docker-compose.

Създаване на Dockerfile, Dockerignore и Docker Compose

1. Докер файл

Ще създадем Dockerfile в директорията на източника.

vim Dockerfile

На първо място, дефинирайте от какъв образ искаме да започнем изграждането. Тук добавих моя алпийски образ на докер за Linux, който включва nodejs10 и NPM. Следвайте нашето изображение на Docker и ръководството за концентратор на докер, за да създадете изображения на докер и да ги изтеглите към центъра на докера.

ОТ ddarshana / alpinenode10

Командата MAINTAINER показва автора на генерираните изображения.

ПОДДРЪЖКА даршана (D.Даршана @ fosslinux.com)

Командата RUN се използва за изпълнение на всякакви команди. Тук инсталираме curl пакет на Alpine Linux.

RUN apk add --update curl && rm -rf / var / cache / apk / *

Създайте нова директория с име Приложение, който ще държи кода на приложението в изображението.

РАБОТА mkdir / ап

Директивата WORKDIR се използва за определяне къде да се изпълнява командата, дефинирана с CMD.

WORKDIR / ап

Копирайте пакета.json файл.

Пакет COPY.json .

Инсталирайте приложението nodeJS и зависимости.

RUN npm инсталиране

Източник на приложението за пакет.

КОПИЕ… 

Изтеглете файла на променливата на средата. В нашия случай имаме отделно място за съхраняване на глобални конфигурации.

RUN curl -O https: // demofiles.fosslinux / nodejs /.env

Стартирайте приложението и то ще стартира на порт 3000 по подразбиране.

CMD [„npm“, „start“]

Ето пълния ни Dockerfile.

ОТ ddarshana / alpinenode10 ПОДДРЪЖКА darshana (D.Даршана @ fosslinux.com) # Инсталирайте "curl" пакет RUN apk add --update curl && rm -rf / var / cache / apk / * # Създаване на директория на приложение RUN mkdir / app WORKDIR / app # копиране на пакет.json COPY пакет.json . # Инсталирайте зависимости на приложението RUN npm install # Bundle source source COPY ... # Изтеглете файла с променлива на средата от нашето мрежово местоположение RUN curl -O https: // demofiles.fosslinux / nodejs /.env # Стартирайте APP CMD ["npm", "start"]

Запазете и излезте от файла. Ето моята директория с кодове за приложения на NodeJs.

Код на приложението Nodejs

2. Създаване на файл Dockerignore

Използването на файла „dockerignore“ предотвратява копирането на нашите локални модули и други нежелани файлове върху изображението на Docker и възможността за презаписване на модули, инсталирани във вашето изображение. Горещо ви препоръчваме да го използвате заедно с Dockerfiles.

Файлът на Dockerignore трябва да бъде в същата директория като Dockerfile.

vim .dockerignore

Тук добавихме следното съдържание:

.env Dockerfile node_modules тест .vscode .eslintrc.js

Запазете и излезте от файла.

Изградете образ на Docker

изграждане на докер . -t fosslinuxdemo / nodejsapp

Изграждане на изображение

Процесът трябва да отнеме известно време. Моля, бъдете търпеливи.

Изображението е създадено

Списък на Docker изображения

Изпълнете следната команда за изброяване на изображения:

изображения на докер

Списък на изображенията

Стартирайте изображението на Docker

докер стартиране -itd -p 3000: 3000 fosslinuxdemo / nodejsapp

-itd: - изпълнява контейнера във фонов режим

-p: - флаг пренасочва публичен порт към частен порт вътре в контейнера

4. Docker Compose

Compose е инструмент за дефиниране и стартиране на многоконтейнерни приложения на Docker. С Compose ще използваме YAML файл за конфигуриране на услугите за приложения. След това с една команда ще създадем и стартираме всички услуги от нашата конфигурация.

Инсталирайте Compose

Преди да инсталирате композитора, първо трябва да инсталирате Docker.

Изпълнете тази команда, за да изтеглите текущата стабилна версия на Docker Compose:

curl -L "https: // github.com / docker / compose / releases / download / 1.25.0 / docker-compose - $ (uname -s) - $ (uname -m) "-o / usr / local / bin / docker-compose

Прилагане на изпълними разрешения към двоичния файл:

chmod + x / usr / local / bin / docker-compose

Тествайте инсталацията:

docker-compose --version

Инсталиране на Docker Composer

5. Инсталиране на WordPress и MySQL с помощта на Docker Compose

Създайте папка за вашия проект:

mkdir / opt / fosslinuxdemo

Отидете в създадената директория:

cd / opt / fosslinuxdemo

Тук ще създадем директории с данни за нашия MySQL контейнер и WordPress контейнер.

mkdir данни mkdir html

Ще монтираме горните директории към нашите контейнери.

Създайте композиторски файл:

vim docker-compose.yml

Тук е нашият файл за съставяне на докер. Копирайте следното съдържание във вашия файл.

версия: „3.7 'услуги: db: имя_контейнер: рестартиране на fosslinux-mysql: винаги изображение: mysql: 5.7 тома: - / opt / fosslinuxdemo / data: / var / lib / mysql команда: --default-authentication-plugin = mysql_native_password среда: MYSQL_ROOT_PASSWORD: 123456 MYSQL_DATABASE: wordpress MYSQL_USER: wordpress MYSQL_PASSWORD: "wordpress 330: ports 330" word ports: 330 мрежи: - fosslinux_net wp: контейнер_име: fosslinux-wp рестартиране: винаги обеми: - "/ opt / fosslinuxdemo / html: / var / www / html" depend_on: - db image: wordpress ports: - "80:80" среда: WORDPRESS_DB_HOST : db: 3306 WORDPRESS_DB_USER: wordpress WORDPRESS_DB_PASSWORD: wordpress мрежи: - fosslinux_net мрежи: fosslinux_net: 

Създаване на файлове и директории

Обърнете внимание на номера на версията. Повече подробности за версията на версия на версията @ composer.

версия: „3.7 '
услуги: db:

Услугата в Compose е работещ контейнер и дефинициите на услугата указват информация за това как ще се изпълнява всеки контейнер. Нашата дефиниция на услугата „db“ има различни опции.

Име на контейнер: fosslinux-mysql
рестартиране: винаги
изображение: mysql: 5.7
томове: https: // hub.докер.com / _ / mysql - / opt / fosslinuxdemo / data: / var / lib / mysql

Тук монтираме том „/ opt / fosslinuxdemo / data“ към директорията „/ var / lib / mysql“ на контейнера. Като цяло това е стандартната директория с данни за MySQL за повечето дистрибуции.

команда: --default-authentication-plugin = mysql_native_password

Тази опция указва команда за замяна на CMD инструкцията по подразбиране за изображението.

околен свят:

Определете променливите на средата. Тук задаваме MySQL променливи.

 портове: - "3306: 3306"
мрежи: - fosslinux_net
зависи_на: - db

Това представлява, че нашите контейнери ще стартират в зависимост от зависимостта, като контейнерът “wp” започва след контейнера “db”.

Сега можем да създадем нашата среда.

 docker-compose up -d

-d флаг, който ще изпълнява контейнери във фонов режим.

Създаване на среда

Избройте докер контейнери:

докер ps -a

Създадени контейнери

Проверете регистрационните файлове на WordPress Container:

докер дневници -f fosslinux-wp

Сега отидете в уеб браузъра и въведете вашия IP, за да получите прозореца за инсталиране на WordPress.

Инсталация на WordPress

Продължете да кликнете върху, продължете и завършете процеса на инсталиране на WordPress.

Това е всичко за работата с Dockerfiles и Docker Compose. Надявам се статията да ви е харесала.

Бутонът на левия бутон на мишката не работи в Windows 10
Ако използвате специална мишка с вашия лаптоп или настолен компютър, но бутонът на левия бутон на мишката не работи на Windows 10/8/7 по някаква причи...
Курсорът скача или се движи произволно, докато пишете в Windows 10
Ако установите, че курсорът на вашата мишка скача или се движи самостоятелно, автоматично, произволно, докато пишете в лаптоп или компютър на Windows,...
Как да обърнете посоката на превъртане на мишката и тъчпада в Windows 10
Мишка и Тъчпадs не само правят изчисленията лесни, но и по-ефективни и отнемат по-малко време. Не можем да си представим живот без тези устройства, но...