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 # Проверить версию docker
  • docker 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.yml
  • docker 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 Hub
  • docker push <image> # Отправить образ в Docker Hub
  • docker rmi <image> # Удалить образ
  • docker build -t <image_name> . # Создать образ из Dockerfile в текущей папке

Управление Volumes и Networks

  • docker volume ls Список volume-ов
  • docker volume rm <volume> Удалить volume
  • docker network ls Список сетей
  • docker network create <name> Создать сеть
  • docker network connect <network> <container> # Подключить контейнер к сети
  1. Остановленные контейнеры (containers)
  2. Неиспользуемые сети (networks)
  3. “Висячие” (неиспользуемые) образы (dangling images)
  4. Все неиспользуемые образы (не только dangling, если -a)
  5. Кэш сборки (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 символов. Завершив процесс регистрации, вы получите доступ к настройкам и функционалу