Быстрое изучение Docker для DEVOPS | Jenkins | #devops #mlops #genai
Devops Rajendra
0:00 / 0:00
Быстрое изучение Docker для DEVOPS | Jenkins | #devops #mlops #genai
109 просмотров · 2 недели назад
Devops Rajendra
393 подписчика
109 просмотров · 2 недели назад
Рекомендации:
Используйте варианты Alpine для создания образов меньшего размера
Объединяйте команды RUN для уменьшения количества слоев
Упорядочивайте слои от наименее часто изменяющихся к наиболее часто изменяющимся
------------------------------------------------------------
Docker Compose (многоконтейнерный)
docker-compose.yml:
version: '3.8'
services:
web:
build: .
порты:
"8080:80"
окружение:
NODE_ENV=production
зависит от:
db
тома:
./data:/app/data
db:
образ: postgres:15
окружение:
POSTGRES_PASSWORD: secret
тома:
pgdata:/var/lib/postgresql/data
тома:
pgdata:
=============================================================
Команды Docker – Краткий обзор
1. Проверка Docker
```bash
docker --version
docker info
```
2. Образы Docker
Список образов
```bash
docker изображения
```
Скачать образ
```bash
docker pull nginx
```
Собрать образ
```bash
docker build -t myapp:1.0 .
```
Удаление образа
```bash
docker rmi nginx
```
3. Контейнеры Docker
Запуск контейнера
```bash
docker run nginx
```
Запуск в фоновом режиме
```bash
docker run -d nginx
```
Запуск с указанием порта
```bash
docker run -d -p 8080:80 nginx
```
Список запущенных контейнеров
```bash
docker ps
```
Список всех контейнеров
```bash
docker ps -a
```
Остановка контейнера
```bash
docker stop container_name
```
Запуск контейнера
```bash
docker start container_name
```
Перезапуск контейнер
```bash
docker restart container_name
```
Удаление контейнера
```bash
docker rm container_name
```
4. Логи Docker
```bash
docker logs container_name
```
Следуйте за логами:
```bash
docker logs -f container_name
```
5. Вход в контейнер
```bash
docker exec -it container_name bash
```
Для Alpine:
```bash
docker exec -it container_name sh
```
6. Проверка контейнера
```bash
docker inspect container_name
```
7. Тома Docker
Список томов:
```bash
docker volume ls
```
Создать том:
```bash
docker volume create myvolume
```
Использовать том:
```bash
docker run -d \
-v myvolume:/data \
nginx
```
8. Сети Docker
Список сетей:
```bash
docker network ls
```
Создать сеть:
```bash
docker network create mynetwork
```
Запустить контейнер с сетью:
```bash
docker run -d \
--network mynetwork \
nginx
```
9. Docker Compose
Запуск:
```bash
docker compose up
```
Запуск в фоновом режиме:
```bash
docker compose up -d
```
Сборка и запуск:
```bash
docker compose up -d --build
```
Остановка:
```bash
docker compose down
```
Проверка сервисов:
```bash
docker compose ps
```
Просмотр логов:
```bash
docker compose logs -f
```
10. Реестр Docker
Вход:
```bash
docker login
```
Тег образа:
```bash
docker tag myapp:1.0 username/myapp:1.0
```
Отправка образа:
```bash
docker push username/myapp:1.0
```
Загрузка образа:
```bash
docker pull username/myapp:1.0
```
11. Очистка
Удаление остановленных контейнеров:
```bash
docker container prune
```
Удалить неиспользуемые образы:
```bash
docker image prune
```
Удаление неиспользуемых ресурсов:
```bash
docker system prune
```
Важные команды
Запомните эти команды в первую очередь:
```text
docker images
docker ps
docker ps -a
docker pull
docker build
docker run
docker stop
docker start
docker restart
docker rm
docker rmi
docker logs
docker exec
docker inspect
docker volume
docker network
docker compose up
docker compose down
```
#devops #docker #jenkinstutorial #dockertutorials #k8s