#devops #otus #terraform #infrastructureascode #iac
Разработка приложений с использованием Docker
При разработке цифрового продукта часто одной из самых больных тем является выкатка его обновлений и новых версий. Связано это обычно с тем, что среда, где пишется код, отличается от той, где происходит его тестирование, которая в свою очередь может отличаться от боевой среды, где этот код должен работать и приносить прибыль компании. Примерами таких отличий могут быть разные версии зависимых библиотек, установленных программ и самого языка программирования.
Технология контейнеризации предлагает решение проблемы “ничего не знаю, работает на моей машине”. При помощи контейнеров мы можем упаковать сам код и все его зависимости в единый пакет, который затем будет запускаться и работать одинаково на всех средах. Достигается это за счет изоляции работы контейнеров в операционной системе на различных уровнях. В частности, изоляция на уровне файловой системы позволяет нам избежать постоянных конфликтов версий.
Docker является ведущей платформой по созданию и управлению контейнерами. Начать пользоваться контейнерами очень просто. Docker имеет свое публичное хранилище имиджей DockerHub, которые используются для запуска контейнеров. Там можно найти нужный вам имидж и воспользоваться командой docker run <image-name> для запуска контейнера. Естественно, что перед запуском команды, нужно установить сам Docker.
Чтобы запустить собственное приложение в Docker контейнере, используйте Dockerfile. Например, вот такой простой Dockefile может содержать описание приложения, его зависимостей и требуемую команду для запуска.
FROM python:3.6.0-alpine
RUN pip install flask pymongo
ADD python/ src/
WORKDIR /src
EXPOSE 5000
CMD ["python3", "app.py"]
Если хотите узнать больше о работе с Docker контейнерами, то приходите к нам на курс “DevOps практики и инструменты”. http://otus.ru/lessons/7?utm_source=telegram&utm_medium=internal&utm_campaign=devops&utm_content=deeppost&utm_term=09.08
Там мы детально изучим процессы разработки с использованием Docker и Docker Compose, оркестрацию с Kubernetes и Docker Swarm и еще многое другое!
Разработка приложений с использованием Docker
При разработке цифрового продукта часто одной из самых больных тем является выкатка его обновлений и новых версий. Связано это обычно с тем, что среда, где пишется код, отличается от той, где происходит его тестирование, которая в свою очередь может отличаться от боевой среды, где этот код должен работать и приносить прибыль компании. Примерами таких отличий могут быть разные версии зависимых библиотек, установленных программ и самого языка программирования.
Технология контейнеризации предлагает решение проблемы “ничего не знаю, работает на моей машине”. При помощи контейнеров мы можем упаковать сам код и все его зависимости в единый пакет, который затем будет запускаться и работать одинаково на всех средах. Достигается это за счет изоляции работы контейнеров в операционной системе на различных уровнях. В частности, изоляция на уровне файловой системы позволяет нам избежать постоянных конфликтов версий.
Docker является ведущей платформой по созданию и управлению контейнерами. Начать пользоваться контейнерами очень просто. Docker имеет свое публичное хранилище имиджей DockerHub, которые используются для запуска контейнеров. Там можно найти нужный вам имидж и воспользоваться командой docker run <image-name> для запуска контейнера. Естественно, что перед запуском команды, нужно установить сам Docker.
Чтобы запустить собственное приложение в Docker контейнере, используйте Dockerfile. Например, вот такой простой Dockefile может содержать описание приложения, его зависимостей и требуемую команду для запуска.
FROM python:3.6.0-alpine
RUN pip install flask pymongo
ADD python/ src/
WORKDIR /src
EXPOSE 5000
CMD ["python3", "app.py"]
Если хотите узнать больше о работе с Docker контейнерами, то приходите к нам на курс “DevOps практики и инструменты”. http://otus.ru/lessons/7?utm_source=telegram&utm_medium=internal&utm_campaign=devops&utm_content=deeppost&utm_term=09.08
Там мы детально изучим процессы разработки с использованием Docker и Docker Compose, оркестрацию с Kubernetes и Docker Swarm и еще многое другое!