31 авг. 2023
Sergey Latskin
36
Пример docker windows
Версии Docker для Windows: Docker на основе Hyper-V: Это ранний вариант Docker Desktop для Windows. Hyper-V - это гипервизор на уровне ОС, который создает виртуальную машину для Docker и контейнеров. Docker на основе WSL 2 (Windows Subsystem for Linux 2): С приходом WSL 2 Docker предоставляет новую архитектуру, которая не требует отдельной виртуальной машины и позволяет работать с контейнерами непосредственно в рамках WSL 2.
# Docker для Windows
Docker - это платформа, которая позволяет разработчикам создавать, тестировать и развертывать приложения внутри контейнеров. Docker для Windows позволяет использовать Docker непосредственно в Windows.
## Установка Docker на Windows
1. Скачайте установщик Docker Desktop для Windows с официального сайта Docker.
2. Запустите установщик и следуйте инструкциям.
3. После установки Docker будет запущен автоматически.
## Основные команды Docker
### Запуск контейнера
```bash
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
```
Пример:
```bash
docker run -d -p 8080:80 --name my_container my_image
```
### Остановка контейнера
```bash
docker stop [OPTIONS] CONTAINER [CONTAINER...]
```
Пример:
```bash
docker stop my_container
```
### Удаление контейнера
```bash
docker rm [OPTIONS] CONTAINER [CONTAINER...]
```
Пример:
```bash
docker rm my_container
```
### Список контейнеров
```bash
docker ps [OPTIONS]
```
Пример:
```bash
docker ps -a
```
### Список образов
```bash
docker images [OPTIONS] [REPOSITORY[:TAG]]
```
Пример:
```bash
docker images
```
### Удаление образа
```bash
docker rmi [OPTIONS] IMAGE [IMAGE...]
```
Пример:
```bash
docker rmi my_image
```
### Сборка образа
```bash
docker build [OPTIONS] PATH | URL | -
```
Пример:
```bash
docker build -t my_image .
```
### Загрузка образа
```bash
docker pull [OPTIONS] NAME[:TAG|@DIGEST]
```
Пример:
```bash
docker pull ubuntu:latest
```
### Выгрузка образа
```bash
docker push [OPTIONS] NAME[:TAG]
```
Пример:
```bash
docker push my_image:tag
```
## Docker Compose
Docker Compose - это инструмент для определения и запуска многоконтейнерных приложений Docker. С его помощью вы можете создать файл `docker-compose.yml`, в котором описываются все необходимые сервисы, и затем запустить их одной командой.
### Запуск сервисов
```bash
docker-compose up [OPTIONS] [--scale SERVICE=NUM...] [SERVICE...]
```
Пример:
```bash
docker-compose up -d
```
### Остановка сервисов
```bash
docker-compose down [OPTIONS]
```
Пример:
```bash
docker-compose down
```
### Список запущенных сервисов
```bash
docker-compose ps [OPTIONS] [SERVICE...]
```
Пример:
```bash
docker-compose ps
```
### Сборка или пересборка сервисов
```bash
docker-compose build [OPTIONS] [SERVICE...]
```
Пример:
```bash
docker-compose build
```
### Запуск команды в сервисе
```bash
docker-compose exec [OPTIONS] SERVICE COMMAND [ARGS...]
```
Пример:
```bash
docker-compose exec web bash
```
## Работа с Dockerfile
Dockerfile - это текстовый файл, который содержит все команды, которые пользователь может вызвать в командной строке для создания образа.
Пример Dockerfile:
```Dockerfile
# Используем образ
FROM python:3.7
# Устанавливаем рабочую директорию в контейнере
WORKDIR /app
# Копируем зависимости
COPY requirements.txt .
# Устанавливаем зависимости
RUN pip install --no-cache-dir -r requirements.txt
# Копируем исходный код
COPY . .
# Запускаем приложение
CMD ["python", "./app.py"]
```
Для сборки образа на основе этого Dockerfile используйте команду `docker build`:
```bash
docker build -t my_image .
```