Docker Compose для разработчика
Автор: Эммануил Гадзурас
Год издания: 2023
#docker #ru #книга
Скачать книгу
Автор: Эммануил Гадзурас
Год издания: 2023
#docker #ru #книга
Скачать книгу
👍1
Docker for Developers
Автор: Richard Bullington-McGuire
Год издания: 2020
#docker #en #книга
Скачать книгу
Автор: Richard Bullington-McGuire
Год издания: 2020
#docker #en #книга
Скачать книгу
👌3
Dockerfile. Формат и создание образа контейнера
#видео
Разберемся с форматом Dockerfile и его основными инструкциями.
На практике пройдем по процессу создания Dockerfile, сборки образа и запуска контейнера.
Смотреть видео
#видео
Разберемся с форматом Dockerfile и его основными инструкциями.
На практике пройдем по процессу создания Dockerfile, сборки образа и запуска контейнера.
Смотреть видео
👍7👎1
gRPC: запуск и эксплуатация
облачных приложений
Автор: Kasun Indrasiri
Год издания: 2021
#docker #ru #книга
Скачать книгу
облачных приложений
Автор: Kasun Indrasiri
Год издания: 2021
#docker #ru #книга
Скачать книгу
👍3
Hacking and Securing Docker Containers
Автор: Srinivasarao Kotipalli
Год издания: 2020
#docker #en #книга
Скачать книгу
Автор: Srinivasarao Kotipalli
Год издания: 2020
#docker #en #книга
Скачать книгу
Docker and Kubernetes
for Java Developers
Автор: Jaroslaw Krochmalski
Год издания: 2017
#docker #en #книга
Скачать книгу
for Java Developers
Автор: Jaroslaw Krochmalski
Год издания: 2017
#docker #en #книга
Скачать книгу
👍1
🐳 Что если вам нужно запустить чужой (возможно небезопасный) код?
Представьте: вам прислали бинарник, Python-скрипт или npm-пакет, и его надо выполнить.
Вы не знаете, что внутри — а вдруг там
🔥 Первый инстинкт: запустить в Docker. Кажется, контейнер спасёт?
⚠️ На самом деле — не всегда.
🛑 Docker ≠ песочница
Контейнеры по умолчанию не изолированы от ядра, сетей и сокетов хоста.
Даже простое
🛡 Что делать, если код небезопасен:
Также стоит:
• Настроить AppArmor / SELinux
• Запретить монтирование Docker сокета
• Ограничить доступ к
💡 Вывод:
Docker — это удобный инструмент упаковки, но не синоним безопасной изоляции.
Если запускаете сторонний или user-generated код (плагины, CI-скрипты, sandbox-сервисы) — относитесь к нему как к потенциально опасному.
Безопасность — это не "чеклист", а постоянная практика.
#Docker #Security #Sandbox #DevOps #Isolation
@Docker
Представьте: вам прислали бинарник, Python-скрипт или npm-пакет, и его надо выполнить.
Вы не знаете, что внутри — а вдруг там
rm -rf /
, попытка выйти из контейнера, майнер или установка root-доступа?🔥 Первый инстинкт: запустить в Docker. Кажется, контейнер спасёт?
⚠️ На самом деле — не всегда.
🛑 Docker ≠ песочница
Контейнеры по умолчанию не изолированы от ядра, сетей и сокетов хоста.
Даже простое
docker run -it ubuntu
запускает процесс с root-доступом внутри контейнера.🛡 Что делать, если код небезопасен:
# Запуск без root-доступа
docker run --user 1000:1000 my-image
# Только для чтения
docker run --read-only my-image
# Удалить все cap-привилегии ядра
docker run --cap-drop=ALL my-image
# Использовать seccomp-профиль
docker run --security-opt seccomp=default.json my-image
# Отключить сеть
docker run --network=none my-image
Также стоит:
• Настроить AppArmor / SELinux
• Запретить монтирование Docker сокета
• Ограничить доступ к
/proc
, /sys
💡 Вывод:
Docker — это удобный инструмент упаковки, но не синоним безопасной изоляции.
Если запускаете сторонний или user-generated код (плагины, CI-скрипты, sandbox-сервисы) — относитесь к нему как к потенциально опасному.
Безопасность — это не "чеклист", а постоянная практика.
#Docker #Security #Sandbox #DevOps #Isolation
@Docker
Telegram
Docker простыми словами
Сообщество по докеру.
Рассказываем про docker и его применение в программировании и тестировании.
Открыты к критике и ждем вашего фидбека.
@viktorreh @anothertechrock
Рассказываем про docker и его применение в программировании и тестировании.
Открыты к критике и ждем вашего фидбека.
@viktorreh @anothertechrock
🔥10👍4
🐳 Шпаргалка по командам Docker
Некоторые из полезных флагов:
-a / --all — список всех контейнеров (по умолчанию показывает только запущенные);
-q / --quiet — перечислить только id контейнеров (полезно, когда вам нужны все контейнеры).
Можно комбинировать эти команды. Например, для очистки всех контейнеров и образов:
🔗 Сохраняй, чтобы не потерять!
#docker #cheatsheet #doc
docker exec -it test1 bash
— Войти в контейнер контейнер test1.docker container start test1
— Запустить контейнер test1docker ps
— показывает список запущенных контейнеров. Некоторые из полезных флагов:
-a / --all — список всех контейнеров (по умолчанию показывает только запущенные);
-q / --quiet — перечислить только id контейнеров (полезно, когда вам нужны все контейнеры).
docker pull
— большинство образов создаётся на основе базового образа из Docker Hub. Docker Hub содержит множество готовых образов, которые можно использовать вместо того, чтобы создавать и настраивать свой собственный. Чтобы скачать определённый образ или набор образов (репозиторий), используйте команду docker pull.docker build
— эта команда собирает образ Docker из Dockerfile и «контекста». Контекст сборки — это набор файлов, расположенных по определённому пути или URL. Используйте флаг -t, чтобы задать имя образа. Например, команда docker build -t my_container . соберёт образ, используя текущую директорию, на что указывает точка в конце.docker run
— запускает контейнер, на основе указанного образа. Эту команду можно дополнять другими, например, docker run my_image -it bash запустит контейнер, а затем запустит в нём bash.docker logs
— эта команда используется для просмотра логов указанного контейнера. Можно использовать флаг --follow, чтобы следить за логами работающей программы: docker logs --follow my_container.docker volume ls
— показывает список томов, которые являются предпочитаемым механизмом для сохранения данных, генерируемых и используемых контейнерами Docker.docker rm
— удаляет один и более контейнеров, например, docker rm my_container.docker rmi
— удаляет один и более образов, например, docker rmi my_image.docker stop
— останавливает один и более контейнеров. Команда docker stop my_container остановит один контейнер, а docker stop $(docker ps -a -q) — все запущенные. Более грубый способ — использовать docker kill my_container, который не пытается сначала аккуратно завершить процесс.docker kill
— принудительно убить контейнер.Можно комбинировать эти команды. Например, для очистки всех контейнеров и образов:
docker kill $(docker ps -q)
— Останавливаем все запущенные контейнеры .docker rm $(docker ps -a -q)
— Удаляем все остановленные контейнеры.docker rmi $(docker images -q)
— Удаляем все образы.🔗 Сохраняй, чтобы не потерять!
#docker #cheatsheet #doc
❤6👍3