Перейти к содержанию

Использование Foliant через Docker

Docker – это технология создания контейнеров с открытым исходным кодом, предназначенная для автоматизации развёртывания и управления приложениями. Позволяет «упаковать» приложение со всем его окружением и зависимостями в контейнер.

Установка Docker выполнялась на Windows 7, поэтому потребовался Docker Toolbox.

Быстрый старт

  1. Скачайте дистрибутив Docker Toolbox.
  2. Установите по инструкции.
  3. Убедитесь, что в BIOS включена виртуализация.
  4. Запустите Docker Quickstart Terminal и выполните команду:
    docker run hello-world
    

Установка Foliant через Docker

docker pull foliant/foliant:full

Страница Foliant на Docker Hub.

Запуск Foliant через Docker

  1. Заполните dockerfile:

    FROM foliant/foliant:full
    COPY requirements.txt .
    RUN pip3 install -r requirements.txt
    COPY ./ /usr/src/app/
    
  2. Заполните docker-compose.yaml:

    version: '3'
    services:
      foliant:
        build:
          context: ./
          dockerfile: ./Dockerfile
      bash:
        build:
          context: ./
          dockerfile: ./Dockerfile
        entrypoint: /bin/bash
    
  3. Соберите образ:

    docker-compose build
    
  4. Создайте сайт:

    docker-compose run --rm foliant make site --with mkdocs
    
  5. Посмотрите ИД последнего контейнера:

    docker ps -a
    
  6. Скопируйте папку с сайтом из контейнера:

    docker cp <ИД контейнера>:flnt-test.mkdocs \<Папка на локальном компьютере>
    

Команды Docker

Посмотреть образы

docker images

Посмотреть контейнеры

docker ps

Создать образ

docker build [OPTIONS] PATH | URL | -

Удалить образ

docker rmi [OPTIONS] IMAGE [IMAGE...]

Удалить все образы

docker rmi $(docker images -q)

Запустить приложение

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

Удалить контейнер

docker rm [OPTIONS] CONTAINER [CONTAINER...]

Удалить все контейнеры

docker rm $(docker ps -a -q)

Запустить приложение и удалить контейнер

docker run --rm IMAGE

Запустить приложение с указанием порта на компьютере, где запускается docker, и порта в контейнере

docker run --rm --name ИМЯ -p 8081:8081 IMAGE

Видео об основах Docker