Docker в LXC отключение AppArmor (Для восстановления работы Docker в LXC) Быстрая установка Docker
apt install curl -y && curl -fsSL https://get.docker.com -o get-docker.sh && sh ./get-docker.shОчистка от мусора
docker system prune -a -f
Основные команды Docker
docker -v# Проверить версию dockerdocker ps# Список запущенных контейнеровdocker ps -a# Список всех контейнеров (включая остановленные)docker run <image># Запуск контейнера из образаdocker run -d <image># Запуск контейнера в фоновом режимеdocker run --name my_container <image># Запуск контейнера с именемdocker stop <container># Остановить контейнерdocker start <container># Запустить остановленный контейнерdocker restart <container># Перезапустить контейнерdocker rm <container># Удалить контейнерdocker logs <container># Просмотр логов контейнераdocker exec -it <container> bash# Запуск командной оболочки в работающем контейнереdocker attach <container># Подключиться к работающему контейнеру
Команды Docker Compose
Файл docker-compose.yml позволяет управлять несколькими контейнерами одновременно.
docker compose up# Запуск всех сервисов из docker-compose.ymldocker compose up -d# Запуск в фоновом режимеdocker compose down# Остановить и удалить контейнерыdocker compose restart# Перезапуск всех сервисовdocker compose stop# Остановить сервисыdocker compose start# Запустить остановленные сервисыdocker compose.yml# Проверить конфигурациюdocker compose rm# Удалить остановленные контейнерыdocker compose top# Показать процессы в контейнерах
Работа с образами
docker images# Список локальных образовdocker pull <image># Скачать образ из Docker Hubdocker push <image># Отправить образ в Docker Hubdocker rmi <image># Удалить образdocker build -t <image_name>. # Создать образ из Dockerfile в текущей папке
Управление Volumes и Networks
docker volume lsСписок volume-овdocker volume rm <volume>Удалить volumedocker network lsСписок сетейdocker network create <name>Создать сетьdocker network connect <network> <container># Подключить контейнер к сети
- Остановленные контейнеры (
containers) - Неиспользуемые сети (
networks) - “Висячие” (неиспользуемые) образы (
dangling images) - Все неиспользуемые образы (не только dangling, если
-a) - Кэш сборки (
build cache)
Установка Portainer
Установка Portainer в docker-compose
mkdir -p /opt/twportainer && cat > /opt/twportainer/docker-compose.yml <<'EOF'
services:
portainer:
image: portainer/portainer-ce:latest
container_name: portainer
environment:
- TZ=Asia/Irkutsk
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /opt/twportainer/portainer_data:/data
ports:
- "8000:8000"
- "9443:9443"
command: -H unix:///var/run/docker.sock
restart: always
EOF
cd /opt/twportainer
docker compose up -d
docker compose restartРучная установка Portainer
Создание рабочего каталога
cd /opt && mkdir twportainer && cd ./twportainer
Создание файла конфигурации
nano docker-compose.yml
Вставьте в файл docker-compose.yml следующее содержимое
services:
twportainer:
image: portainer/portainer-ce:latest
container_name: twportainer
environment:
- TZ=Asia/Irkutsk
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /opt/twportainer/portainer_data:/data
ports:
- "8000:8000"
- "9443:9443"
restart: always
Запуск
docker compose up -d
Portainer теперь запущен и доступен по адресу https://<ip_или_localhost>:9443 В некоторых случаях доступен по https://ip:9443/#!/init/admin
Описание параметров:
version: "3.3": Указывает версию Docker-compose, которую вы используете. Версия 3.3 подходит для большинства современных приложений.
services: В этой секции описываются запускаемые сервисы.
twportainer: Имя сервиса. Используется в качестве идентификатора.
image: portainer/portainer-ce:latest: Определяет образ, который будет использоваться. Здесь используется последняя версия Community Edition.
container_name: twportainer: Назначает имя контейнера, чтобы было легче его идентифицировать.
environment: Позволяет задать переменные окружения. Например, - TZ=Europe/Moscow устанавливает временную зону контейнера.
volumes: Подключенные каталоги с хоста в контейнер
/var/run/docker.sock:/var/run/docker.sock позволяет Portainer взаимодействовать с Docker на вашем хосте;
/opt/twportainer/portainer_data:/data создает постоянное хранилище данных.
ports:
“8000:8000” и “9443:9443” открывают соответствующие порты для доступа к Portainer. 9443 используется для HTTPS подключения.
restart: always: Гарантирует, что контейнер будет автоматически перезапускаться при необходимости, например, после перезагрузки сервера.
При первом входе в систему вас попросят зарегистрировать аккаунт администратора. Учтите, что для пароля требуется минимум 12 символов. Завершив процесс регистрации, вы получите доступ к настройкам и функционалу