Автор оригинала: Omar Ch..
Если вы являетесь разработчиком на переднем углу, вы будете в ситуациях, где вам придется иметь дело с Docker, особенно если вы работаете над проектом с современным стеком, который в настоящее время имеет место с большинством проектов. В Интернете есть много ресурсов, которые помогут вам учиться докера, но большинство из них объясняют докер углубленные и бросать термины, о которых вы не слышали с момента колледжа или никогда, если вы являетесь самоуровневым интерфейсом или Выпускник загрузки лагеря. Таким образом, цель этого поста заключается в том, чтобы дать вам необходимые знания, чтобы быть менее разочарованным при использовании Docker, чтобы насладиться написанием CSS.
Какие проблемы решают Docker?
Большинство курсов начнут объяснять, как работает Docker, но кто заботится в начале? Сначала мы хотим узнать, что проблемы Docker помогают нам исправить.
Вы помните, когда вы доставляете свое приложение, и вы узнаете, что он не работает в производстве, но он делает в вашей машине? И вы должны были расследовать производственную среду и установить его, чтобы соответствовать вашей местной среде для вашего приложения на работу? Или Когда вы обновляете среду разработки, и вы должны сделать то же самое для производственной среды?
Ну, может быть, вы этого не сделаете, а другие люди делают это для вас (DEVOPS), но единственное, что вы должны знать, это то, что синхронизация развития и производственной среды является болезненной и трудоемкой, но Docker помогает нам исправить эти проблемы.
Конечно, Docker решает так много других сложных проблем, я просто хочу сделать все возможное и посмотреть на него с перспективы разработчиков интерфейса.
Докер приходит к спасению
Мы, люди, всегда находящие решения наших проблем. Это просто вопрос времени, пока ленивый человек или группа, которая не хочет повторять, что-то изобретает быстрый способ сделать это.
Что, если у нас есть контейнер, который может упаковать код и все его зависимости, поэтому приложение надежно работает независимо от того, где он будет развернут?
Это то, что делает Docker, в более простых словах, Docker — это инструмент, который позволяет разработчикам, системам администраторов и т. Д. Для легко развертывания их приложений в песочнице (называемые контейнерами) для запуска на хост-систему I.E. Linux. Ключевым преимуществом Docker является то, что он позволяет пользователям упаковать приложение со всеми его зависимостями в стандартизированную единицу для разработки программного обеспечения.
Мы можем сделать то же самое с виртуальными машинами, но Docker имеет свои преимущества по поводу VMS. Я не буду говорить об этом в этом посте.
Что вы должны знать в начале
Чтобы сказать Docker, что делать, мы используем файл под названием DockerFile, который является текстовым документом, который содержит все команды, которые пользователь может позвонить в командной строке для сборки изображения. Изображение представляет собой чертежи вашего приложения, которые образуют основу контейнеров. Это легкий, автономный, исполняемый пакет программного обеспечения, который включает в себя все необходимое для запуска приложения, то есть кода, время выполнения, системные инструменты, системные библиотеки и настройки. Контейнер просто просто экземпляр изображения докера.
Подумайте о изображении как класс в OOP, а контейнер в качестве объекта этого класса мы можем использовать одно изображение для создания нескольких контейнеров, поскольку мы можем создать несколько объектов с одним классом.
Давайте применим это на практику
Сначала вам нужно будет установить Docker на вашем компьютере, как только у вас установлено, давайте постарайтесь поставить то, что мы узнали на практике. Мы начнем с создания изображения для нашего приложения для интерфейса, чтобы иметь возможность развернуть его в любом месте докера.
Вы можете использовать свой уже созданный персональный проект, если хотите. Чтобы сохранить все возможное, я начну с нуля с приложением Basic React, созданное с использованием приложения Create-React-App.
~ npx create-react-app front-end ~ cd frontend ~ npm start
Это создаст новый проект и запустит его на локальной машине. Так что давайте документируем это.
Для этого мы скажем Docker, что делать, используя DockerFile. В корне проекта создайте файл и назовите его DockerFile и напишите следующее.
# Select the image to use FROM node ## Install dependencies in the root of the Container COPY package.json yarn.lock ./ ENV NODE_PATH=/node_modules ENV PATH=$PATH:/node_modules/.bin RUN npm # Add project files to /app route in Container ADD . /app # Set working dir to /app WORKDIR /app # expose port 3000 EXPOSE 3000
Просто он говорит Docker, как создать изображение, определяя.
- Какое изображение я хочу использовать,
- Какие файлы будут внутри
- Переменные среды
- Команды, которые я хочу быть выполнен.
- Открытый порт
Теперь, когда у нас есть наш DockerFile, мы скажем Docker построить изображение на основе него.
~ docker image build -t frontend
Это просто создаст изображение из DockerFile, которое мы создали с именем внешний интерфейс.
Чтобы увидеть созданное изображение, запустите следующую команду.
~ docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE frontend latest b530cde7abk1 10 minutes ago 1.18GB
Теперь, когда у меня есть изображение моего проекта, пришло время запускать контейнер.
~ docker run -p 3000:3000 frontend
Перейти к http://localhost: 300 0, и вы обнаружите, что приложение работает и работает. Поздравляем.
Я позволю вам понять сами, как остановить контейнер 😉 и удалить его.
Окончательные слова
Там так много ресурсов, которые могут помочь вам погрузиться в докере, и я уверен, что у вас сейчас есть фонд, чтобы построить больше знаний на нем, и лучший способ начать — это официальная документация Docker https://docs.docker.com/ дух
Оригинал: «https://www.codementor.io/@opmarq/docker-for-front-end-developers-1htva732cv»