Топ-10 опций команды docker run
Консольная команда docker run имеет около сотни опций, в том числе -d, -i, -t, -v и -w. В данной статье рассмотрим десять наиболее популярных опций, с которыми наверняка придется работать. Давайте разберемся!
Пример команды с опциями, которые будут рассмотрены в данной статье:
docker run \
--rm \
--detach \
--env KEY=VALUE \
--ip 10.10.9.75 \
--publish 3000:3000 \
--volume my_volume \
--name my_container \
--tty --interactive \
--volume /my_volume \
--workdir /app \
IMAGE bash
Начнем с азов. Консольная команда docker run создает из docker-образа контейнер (точнее создает доступный для записи слой поверх слоев, содержащихся в docker-образе) и запускает его (выполняет указанную команду). В общем виде это выглядит так:
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
Команда docker run очень похожа на комбинацию команд docker create ... и docker start ..., подробнее о которых можно узнать в официальной документации.
Топ-10 опций команды docker run в алфавитном порядке.
--detach, -d - по умолчанию, docker-контейнер запускается присоединенным (attached) к стандартным потокам ввода-вывода. Параметр -d, --detach позволяет запускать контейнер в фоне и не выводить на экран содержимое потоков ввода-вывода.
--entrypoint - устанавливает или переопределяет используемую по умолчанию команду (и параметры) из docker-образа. Подробнее о Docker ENTRYPOINT можно узнать здесь.
--env, -e - устанавливает переменные окружения в формате пар КЛЮЧ=ЗНАЧЕНИЕ. Если у вас есть список переменных окружения в файле, тогда необходимо использовать опцию --env-file.
--ip - назначает docker-контейнеру IP-адрес, например, --ip=10.10.9.75.
--name - назначает docker-контейнеру имя (--name my-super-container).
--publish, -p или --publish-all, -P - сопоставляет порт(ы) docker-контейнера порту(ам) на хост системе. Стоит отметить, что --publish-all откроет доступ к портам, описанным в Dockerfile с помощью директивы EXPOSE.
--rm - автоматически удалить контейнер после завершения его работы (в том числе, при завершении с ошибкой).
--tty, -t - назначает псевдо-TTY, подключенный к STDIN контейнера. Зачастую используется с опцией --interactive, -i - например, если вам нужно подключиться к оболочке (bash) внутри docker-контейнера для выполнения каких-то действий.
--volume, -v - монтирование тома. Подробнее о томах можно почитать здесь.
--workdir, -w - устанавливает рабочую директорию внутри docker-контейнера. Например, если вы скопировали некие файлы в папку app контейнера, то вполне разумно будет установить этот каталог в качестве рабочей директории.
#devops #девопс #docker
Подпишись 👉@i_DevOps
Консольная команда docker run имеет около сотни опций, в том числе -d, -i, -t, -v и -w. В данной статье рассмотрим десять наиболее популярных опций, с которыми наверняка придется работать. Давайте разберемся!
Пример команды с опциями, которые будут рассмотрены в данной статье:
docker run \
--rm \
--detach \
--env KEY=VALUE \
--ip 10.10.9.75 \
--publish 3000:3000 \
--volume my_volume \
--name my_container \
--tty --interactive \
--volume /my_volume \
--workdir /app \
IMAGE bash
Начнем с азов. Консольная команда docker run создает из docker-образа контейнер (точнее создает доступный для записи слой поверх слоев, содержащихся в docker-образе) и запускает его (выполняет указанную команду). В общем виде это выглядит так:
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
Команда docker run очень похожа на комбинацию команд docker create ... и docker start ..., подробнее о которых можно узнать в официальной документации.
Топ-10 опций команды docker run в алфавитном порядке.
--detach, -d - по умолчанию, docker-контейнер запускается присоединенным (attached) к стандартным потокам ввода-вывода. Параметр -d, --detach позволяет запускать контейнер в фоне и не выводить на экран содержимое потоков ввода-вывода.
--entrypoint - устанавливает или переопределяет используемую по умолчанию команду (и параметры) из docker-образа. Подробнее о Docker ENTRYPOINT можно узнать здесь.
--env, -e - устанавливает переменные окружения в формате пар КЛЮЧ=ЗНАЧЕНИЕ. Если у вас есть список переменных окружения в файле, тогда необходимо использовать опцию --env-file.
--ip - назначает docker-контейнеру IP-адрес, например, --ip=10.10.9.75.
--name - назначает docker-контейнеру имя (--name my-super-container).
--publish, -p или --publish-all, -P - сопоставляет порт(ы) docker-контейнера порту(ам) на хост системе. Стоит отметить, что --publish-all откроет доступ к портам, описанным в Dockerfile с помощью директивы EXPOSE.
--rm - автоматически удалить контейнер после завершения его работы (в том числе, при завершении с ошибкой).
--tty, -t - назначает псевдо-TTY, подключенный к STDIN контейнера. Зачастую используется с опцией --interactive, -i - например, если вам нужно подключиться к оболочке (bash) внутри docker-контейнера для выполнения каких-то действий.
--volume, -v - монтирование тома. Подробнее о томах можно почитать здесь.
--workdir, -w - устанавливает рабочую директорию внутри docker-контейнера. Например, если вы скопировали некие файлы в папку app контейнера, то вполне разумно будет установить этот каталог в качестве рабочей директории.
#devops #девопс #docker
Подпишись 👉@i_DevOps
👍7
Новые возможности werf: CI/CD на основе werf и Argo CD
В этой статье мы рассмотрим новый экспериментальный режим совместной работы Open Source-утилиты werf и инструмента для непрерывной доставки Argo CD, объединяющий в себе возможности и удобства обоих проектов в рамках одного CI/CD-процесса. Сейчас идет активная разработка этих возможностей werf, но в первом приближении функционал уже доступен и готов к использованию.
#devops #девопс #werf
Подпишись 👉@i_DevOps
В этой статье мы рассмотрим новый экспериментальный режим совместной работы Open Source-утилиты werf и инструмента для непрерывной доставки Argo CD, объединяющий в себе возможности и удобства обоих проектов в рамках одного CI/CD-процесса. Сейчас идет активная разработка этих возможностей werf, но в первом приближении функционал уже доступен и готов к использованию.
#devops #девопс #werf
Подпишись 👉@i_DevOps
👍3
Все ушли, а мы остались!
Выбираем отечественную экосистему для управления ИТ-инфраструктурой, виртуализацией, биллингом и веб-серверами.
@ispsystem_ru - канал разработчика платформ управления ИТ-инфраструктурой, виртуализацией и сайтами ISPsystem.
- публикуем новости индустрии;
- рассказываем о релизах и фичах продуктов своей экосистемы;
- делимся лайфхаками как построить хостинг и облако, эффективно управлять железом.
Хочешь получать актуальные новости облачной и ИТ-инфраструктурной индустрии, полезные рецепты по созданию хостинга и облака? Присоединяйся!
Подписывайся на канал https://news.1rj.ru/str/ispsystem_ru
Выбираем отечественную экосистему для управления ИТ-инфраструктурой, виртуализацией, биллингом и веб-серверами.
@ispsystem_ru - канал разработчика платформ управления ИТ-инфраструктурой, виртуализацией и сайтами ISPsystem.
- публикуем новости индустрии;
- рассказываем о релизах и фичах продуктов своей экосистемы;
- делимся лайфхаками как построить хостинг и облако, эффективно управлять железом.
Хочешь получать актуальные новости облачной и ИТ-инфраструктурной индустрии, полезные рецепты по созданию хостинга и облака? Присоединяйся!
Подписывайся на канал https://news.1rj.ru/str/ispsystem_ru
👍2👎1😢1
В Kubernetes-платформе Deckhouse v1.32 появились модули ceph-csi и snapshot-controller
Вчера состоялся новый стабильный релиз платформы Deckhouse — v1.32. Расскажем о самых важных изменениях в этом релизе, среди которых — два новых модуля, новая версия Ingress-контроллера и ряд улучшений для существующих компонентов.
#devops #девопс #docker
Подпишись 👉@i_DevOps
Вчера состоялся новый стабильный релиз платформы Deckhouse — v1.32. Расскажем о самых важных изменениях в этом релизе, среди которых — два новых модуля, новая версия Ingress-контроллера и ряд улучшений для существующих компонентов.
#devops #девопс #docker
Подпишись 👉@i_DevOps
👍2
Инженер DevOps и разработчик/сисадмин: в чем разница?
С появлением методологии DevOps, многие традиционные роли в IT трансформируются именно в этом направлении. Наиболее распространенным является переход с позиции системного администратора или разработчика на позицию DevOps-инженера.
Чаще всего сравнивают именно профессии системного администратора и специалиста по DevOps. Эти роли разделяют ряд общих задач, но существуют и фундаментальные различия между ними.
Системные администраторы не участвуют в процессе разработки программного обеспечения. DevOps-инженеры играют более активную роль. Они сосредоточены на работе над всем жизненным циклом продукта, а системные администраторы участвуют только на стадии его эксплуатации. Далее
#devops #девопс
Подпишись 👉@i_DevOps
С появлением методологии DevOps, многие традиционные роли в IT трансформируются именно в этом направлении. Наиболее распространенным является переход с позиции системного администратора или разработчика на позицию DevOps-инженера.
Чаще всего сравнивают именно профессии системного администратора и специалиста по DevOps. Эти роли разделяют ряд общих задач, но существуют и фундаментальные различия между ними.
Системные администраторы не участвуют в процессе разработки программного обеспечения. DevOps-инженеры играют более активную роль. Они сосредоточены на работе над всем жизненным циклом продукта, а системные администраторы участвуют только на стадии его эксплуатации. Далее
#devops #девопс
Подпишись 👉@i_DevOps
👍2
Docker Security Cheat Sheet (Безопасность Docker - серия шпаргалок OWASP)
https://cheatsheetseries.owasp.org/cheatsheets/Docker_Security_Cheat_Sheet.html
#devops #девопс #Docker #OWASP
Подпишись 👉@i_DevOps
https://cheatsheetseries.owasp.org/cheatsheets/Docker_Security_Cheat_Sheet.html
#devops #девопс #Docker #OWASP
Подпишись 👉@i_DevOps
cheatsheetseries.owasp.org
Docker Security - OWASP Cheat Sheet Series
Website with the collection of all the cheat sheets of the project.
Айтишное сообщество в телеграм поделилось 3 каналами, которые помогут вам прокачать свои скиллы:
IT библиотека – авторы за свои деньги выкупают платные книги по айти и выкладывают в канал. Прокачивай навыки и экономь на обучении.
Linux Education – фишки линукса, обзоры дистрибутивов и недооцененных функций. Освой новую операционку за пару дней.
Unreal Engine Education – канал от разрабов Mortal Combat по разработке игр. Инструкции, реальные примеры и всё в понятных картинках.
IT библиотека – авторы за свои деньги выкупают платные книги по айти и выкладывают в канал. Прокачивай навыки и экономь на обучении.
Linux Education – фишки линукса, обзоры дистрибутивов и недооцененных функций. Освой новую операционку за пару дней.
Unreal Engine Education – канал от разрабов Mortal Combat по разработке игр. Инструкции, реальные примеры и всё в понятных картинках.
Media is too big
VIEW IN TELEGRAM
Kubernetes Tutorial for Beginners [FULL COURSE in 4 Hours]
0:00 - Course Overview
2:18 - What is K8s
5:20 - Main K8s Components
22:29 - K8s Architecture
34:47 - Minikube and kubectl - Local Setup
44:52 - Main Kubectl Commands - K8s CLI
1:02:03 - K8s YAML Configuration File
1:16:16 - Demo Project: MongoDB and MongoExpress
1:46:16 - Organizing your components with K8s Namespaces
2:01:52 - K8s Ingress explained
2:24:17 - Helm - Package Manager
2:38:07 - Persisting Data in K8s with Volumes
2:58:38 - Deploying Stateful Apps with StatefulSet
3:13:43 - K8s Services explained
#devops #Kubernetes #девопс
Подпишись 👉@i_DevOps
0:00 - Course Overview
2:18 - What is K8s
5:20 - Main K8s Components
22:29 - K8s Architecture
34:47 - Minikube and kubectl - Local Setup
44:52 - Main Kubectl Commands - K8s CLI
1:02:03 - K8s YAML Configuration File
1:16:16 - Demo Project: MongoDB and MongoExpress
1:46:16 - Organizing your components with K8s Namespaces
2:01:52 - K8s Ingress explained
2:24:17 - Helm - Package Manager
2:38:07 - Persisting Data in K8s with Volumes
2:58:38 - Deploying Stateful Apps with StatefulSet
3:13:43 - K8s Services explained
#devops #Kubernetes #девопс
Подпишись 👉@i_DevOps
👍6
Forwarded from Вакансии Системный Администратор, DevOps
#Вакансия #JOB #DevOps #Питер
В компанию занимающую лидирующее положение в сфере производства средств и комплексов радиоконтроля ищем 💎DevOps инженера💎
Город: 📍Санкт-Петербург (м.
Формат работы: ⚖️ офис, гибрид
Занятость:⏳ full time
Зарплата: 💰 230.000 – 250.000 net + премии + 13-я зп
Что нужно будет делать:
• Поддержание инфраструктуры разработки программного обеспечения в рабочей группе из 15-20 человек (GitLab, SVN, Jenkins, Redmine, MediaWiki)
• Развертывание новых сервисов по мере необходимости
• Администрирование локальной сети рабочей группы (Windows/Linux) и взаимодействие с системными администраторами уровня предприятия.
СТЕК: С++11/14 (msvc, gcc) + Qt5, boost, gtest
Мы ждем от вас знания и опыт:
• Системного администрирования Linux от 3 лет
• Витруализация - Proxmox
• Gitlab, SVN, Git, Mercurial, Redmine, Jira, CI, Jenkins
• Хорошее знание системного уровня ОС Windows/Linux, желателен опыт написания и отладки системных и сетевых утилит
• Разработки на Python, C, C++ или желание его приобрести.
• Понимание современной архитектуры платформы x86
Мы предлагаем:
• Официальное трудоустройство и белую заработную плату с первого дня
• ДМС (стоматология)
• Льготное питание (обеды)
• Компенсация фитнеса
• Возможности для профессионального и карьерного роста современный технологический стек, актуальные инструменты разработки
• Возможность влиять на выбор технологий, используемых в отделе
• Возможность получить знания в области цифровой связи и цифровой обработки сигналов, понимание принципов построения современных систем связи в диапазоне УКВ (сотовые, транкинговые сети)
• Получить знания и понимание концепции Software-Defined Radio (SDR), о/разработки программных демодуляторов/ декодеров
• Насыщенная корпоративная жизнь, понимающее руководство и коллектив единомышленников.
Найдись хороший человек! 🙌🏻
На все вопросы отвечу тут ✉️: @MarinaShekera
В компанию занимающую лидирующее положение в сфере производства средств и комплексов радиоконтроля ищем 💎DevOps инженера💎
Город: 📍Санкт-Петербург (м.
Формат работы: ⚖️ офис, гибрид
Занятость:⏳ full time
Зарплата: 💰 230.000 – 250.000 net + премии + 13-я зп
Что нужно будет делать:
• Поддержание инфраструктуры разработки программного обеспечения в рабочей группе из 15-20 человек (GitLab, SVN, Jenkins, Redmine, MediaWiki)
• Развертывание новых сервисов по мере необходимости
• Администрирование локальной сети рабочей группы (Windows/Linux) и взаимодействие с системными администраторами уровня предприятия.
СТЕК: С++11/14 (msvc, gcc) + Qt5, boost, gtest
Мы ждем от вас знания и опыт:
• Системного администрирования Linux от 3 лет
• Витруализация - Proxmox
• Gitlab, SVN, Git, Mercurial, Redmine, Jira, CI, Jenkins
• Хорошее знание системного уровня ОС Windows/Linux, желателен опыт написания и отладки системных и сетевых утилит
• Разработки на Python, C, C++ или желание его приобрести.
• Понимание современной архитектуры платформы x86
Мы предлагаем:
• Официальное трудоустройство и белую заработную плату с первого дня
• ДМС (стоматология)
• Льготное питание (обеды)
• Компенсация фитнеса
• Возможности для профессионального и карьерного роста современный технологический стек, актуальные инструменты разработки
• Возможность влиять на выбор технологий, используемых в отделе
• Возможность получить знания в области цифровой связи и цифровой обработки сигналов, понимание принципов построения современных систем связи в диапазоне УКВ (сотовые, транкинговые сети)
• Получить знания и понимание концепции Software-Defined Radio (SDR), о/разработки программных демодуляторов/ декодеров
• Насыщенная корпоративная жизнь, понимающее руководство и коллектив единомышленников.
Найдись хороший человек! 🙌🏻
На все вопросы отвечу тут ✉️: @MarinaShekera
👍4💩1
Kubernetes в НСПК
Всем привет! Меня зовут Назаров Алексей, я работаю в отделе развития инфраструктурных систем автоматизации Мир Plat.Form (НСПК) и сегодня расскажу о том, как устроены наши кластеры Kubernetes и как мы ими управляем.
Допустим у вас имеются проекты, построенные на микросервисной архитектуре, и несколько команд разработчиков под какой-либо проект. Вы хотите быстро поднимать различные окружения (test, UAT, prod) или даже давать такую возможность пользователям. Тогда вам нужен Kubernetes. Поэтому Kubernetes нужен и нам.
#devops #Kubernetes #девопс
Подпишись 👉@i_DevOps
Всем привет! Меня зовут Назаров Алексей, я работаю в отделе развития инфраструктурных систем автоматизации Мир Plat.Form (НСПК) и сегодня расскажу о том, как устроены наши кластеры Kubernetes и как мы ими управляем.
Допустим у вас имеются проекты, построенные на микросервисной архитектуре, и несколько команд разработчиков под какой-либо проект. Вы хотите быстро поднимать различные окружения (test, UAT, prod) или даже давать такую возможность пользователям. Тогда вам нужен Kubernetes. Поэтому Kubernetes нужен и нам.
#devops #Kubernetes #девопс
Подпишись 👉@i_DevOps
👍4
CI/CD Tutorials
GitHub Actions Tutorial - Basic Concepts and CI/CD Pipeline with Docker
CI/CD with JetBrains TeamCity | TeamCity Tutorial
Complete Jenkins Pipeline Tutorial | Jenkinsfile explained
Run Jenkins in Docker Container - Jenkins Pipeline Tutorial for Beginners 1/4
Create Multibranch Pipeline with Git - Jenkins Pipeline Tutorial for Beginners 2/4
Jenkinsfile - Jenkins Pipeline Tutorial for Beginners 3/4
Trigger Jenkins Build automatically - Jenkins Pipeline Tutorial for Beginners 4/4
ArgoCD Tutorial for Beginners | GitOps CD for Kubernetes
GitLab CI/CD Full Course released - CI/CD with Docker | K8s | Microservices!
#devops #CI #CD #девопс #Jenkins
Подпишись 👉@i_DevOps
GitHub Actions Tutorial - Basic Concepts and CI/CD Pipeline with Docker
CI/CD with JetBrains TeamCity | TeamCity Tutorial
Complete Jenkins Pipeline Tutorial | Jenkinsfile explained
Run Jenkins in Docker Container - Jenkins Pipeline Tutorial for Beginners 1/4
Create Multibranch Pipeline with Git - Jenkins Pipeline Tutorial for Beginners 2/4
Jenkinsfile - Jenkins Pipeline Tutorial for Beginners 3/4
Trigger Jenkins Build automatically - Jenkins Pipeline Tutorial for Beginners 4/4
ArgoCD Tutorial for Beginners | GitOps CD for Kubernetes
GitLab CI/CD Full Course released - CI/CD with Docker | K8s | Microservices!
#devops #CI #CD #девопс #Jenkins
Подпишись 👉@i_DevOps
👍6