В этой статье используется лицензионное соглашение «Signature 4.0 International (CC BY 4.0)», добро пожаловать на перепечатку или изменение для использования, но вам необходимо указать источник.Атрибуция 4.0 Международная (CC BY 4.0)
Автор этой статьи: Су Ян
Создано: 3 февраля 2019 г. Статистические слова: 4384 слова Время чтения: 9 минут чтения Ссылка на эту статью:Поиск teay.com/2019/02/03/…
Создайте свою вики с помощью Docker (TiddlyWiki)
Быстрое построение и использование трех разных RSS-систем было представлено ранее.Далее я продемонстрирую несколько разных Wiki-систем, которые также быстро строятся с помощью Docker и Traefik.Эта статья является третьей статьей TiddlyWiki, в дополнение к конструкция. , простая демонстрация того, как оптимизировать образ контейнера.
Если вы читали статьи, которые я написал ранее, обратитесь к этой статье, чтобы создать статью. Это займет всего 3 минуты или меньше. Если вы еще не читали ее, вы можете щелкнуть вкладку статьи, связанную с этой статьей, чтобы прочитать предыдущую статьи.
О TiddlyWiki
TiddlyWiki также является бесплатным программным обеспечением с открытым исходным кодом, написанным на JavaScript, которое также является кроссплатформенным по своей сути и широко используется для организации личных знаний.
Автор из Оксфордского университета и много лет разрабатывал это программное обеспечение Wiki.Благодаря некоторым уникальным преимуществам программного обеспечения у него много поклонников железа.Так чем же это программное обеспечение отличается от других программ Wiki?
- Программное обеспечение последней версии (5.x) поддерживает два режима работы:
- Одна страница HTML (приложение SPA)
- Node.js (веб-приложение)
- Одностраничный режим вряд ли требует каких-либо навыков программирования, просто дважды щелкните файл подкачки, чтобы сразу начать его использовать, и его можно носить с собой на облачном диске хранилища или U-диске.
- Записи Wiki легко настраиваются, с хорошей поддержкой общих формул, диаграмм, выделения кода и многого другого.
- Предоставляет множество подключаемых модулей общих функций, языковых пакетов, различных стилей тем и может переключать традиционные вики.
- В настоящее время предоставляет клиент (на основе NW.js)/различные странные методы запуска (например, запуск на мобильных телефонах).
Ниже приведен официальный сайт программного обеспечения, а также соответствующая китайская версия. Китайская версия версии программного обеспечения относительно низкая, но использование общих функций не сильно изменилось.
В данной статье будет использоваться режим Node.js для построения вики-сайтов.Во-первых, производительность лучше.Во-вторых,все приложение можно превратить в изоморфный тип,и эффективность вторичной разработки тоже выше.В-третьих,единично- файловая версия не требует статьи Практическая документация.
Текущая версия программного обеспеченияv5.1.19, автор занимается разработкой уже 6 лет с тех пор как в 2013 году номер версии подскочил с 1.х до 5.0,Запись версии здесь, эта статья основана на этой стабильной версии.
Без дальнейших церемоний, давайте начнем.
Напишите базовый образ Docker
Ниже нашDockerfile:
FROM node:11.9.0-alpine
RUN npm install -g tiddlywiki@5.1.19
EXPOSE 8080
VOLUME [ "/app" ]
WORKDIR /app
CMD [ "tiddlywiki", ".", "--listen", "host=0.0.0.0" ]
использоватьDocker build
команда для создания образа, здесь мы предварительно устанавливаем имя образа какdocker.lab.com/tiddlywiki:5.1.19
.
docker build -t docker.lab.com/tiddlywiki:5.1.19 .
Если вы чувствуете, что процесс строительства идет очень медленно, вы можете использовать зеркало, поддерживаемое местной командой Taobao, чтобы преобразовать первыйRUN
Команда после директивы заменяется на:
RUN npm install -g tiddlywiki@5.1.19 --registry=https://registry.npm.taobao.org
Запуск TiddlyWiki с Compose
С помощью приведенного ниже файла конфигурации вы можете использовать Compose для запуска TiddlyWiki, используя текстовый файл в качестве хранилища данных одним щелчком мыши.Конфигурация очень проста, около 20 строк кода.
version: '3'
services:
tiddly:
image: docker.lab.com/tiddlywiki:5.1.19
restart: always
labels:
- "traefik.enable=true"
- "traefik.port=8080"
- "traefik.frontend.rule=Host:tiddlywiki.lab.io"
- "traefik.frontend.entryPoints=https,http"
- "traefik.frontend.headers.customResponseHeaders=Access-Control-Allow-Origin:*"
networks:
- traefik
volumes:
- ./app:/app
expose:
- 8080
command: tiddlywiki . --init server
networks:
traefik:
external: true
Однако, если вы используете такую конфигурацию и образ контейнера напрямую, это будет немного проблематично, нам нужно выполнить «дважды».docker-compose up
:
- В первый раз используйте указанный выше файл конфигурации напрямую, после запуска инициализируйте каталог данных вики по умолчанию.
- второй раз удалить
command
После команды разрешите выполнению образа контейнера с командой по умолчанию и запустите службу.
Как подбрасывающий контроллер с преследованием, конечно, мы должны избегать такой ситуации, это слишком неэкологично.
Итак, давайте решим эту проблему.
Написание расширенных версий образов контейнеров
Ниже представлен новыйDockerfile:
FROM node:11.9.0-alpine
MAINTAINER soulteary@gmail.com
RUN npm install -g tiddlywiki@5.1.19
EXPOSE 8080
VOLUME [ "/app" ]
WORKDIR /app
COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
CMD [ "/entrypoint.sh" ]
По сравнению с предыдущей версией мы предоставим новый «входной файл»,entrypoint.sh
Содержимое файла следующее:
#!/usr/bin/env sh
if [ ! -f "/app/tiddlywiki.info" ]; then
tiddlywiki /app --init server
fi
tiddlywiki /app --listen host=0.0.0.0
повторное использованиеdocker build
После того, как команда соберет образ, давайте исправим предыдущийdocker-compose.yml
конфигурационный файл.
Запустите TiddlyWiki с Compose еще раз
version: '3'
services:
tiddly:
image: docker.lab.com/tiddlywiki:5.1.19
restart: always
labels:
- "traefik.enable=true"
- "traefik.port=8080"
- "traefik.frontend.rule=Host:tiddlywiki.lab.io"
- "traefik.frontend.entryPoints=https,http"
- "traefik.frontend.headers.customResponseHeaders=Access-Control-Allow-Origin:*"
networks:
- traefik
volumes:
- ./app:/app
expose:
- 8080
networks:
traefik:
external: true
Сохраните конфигурацию какdocker-compose.yml
, затем выполнитеdocker-compose up
Запустите приложение и файл с именемapp
каталог, в котором будут храниться файлы конфигурации сайта, а также все наши будущие данные вики-записи, все полностью автоматически.
Структура каталога данных выглядит следующим образом:
app
├── tiddlers
│ ├── $__SiteTitle.tid
│ └── $__StoryList.tid
└── tiddlywiki.info
Резервное копирование данных очень простое, вам нужно только регулярно создавать резервную копию файла в этом каталоге.Если будет возможность позже, вы можете написать статью, посвященную резервному копированию файлов.
когда используешьdocker-compose up
После запуска приложения к нему можно получить доступ через настроенное нами доменное имя, в данном примере это адресtiddlywiki.lab.io
. (Я использую Traefik для обнаружения сервисов, если вы не знаете, как это сделать, посетите мою статью по истории, чтобы узнать, как используется Traefik.)
Обзор TiddlyWiki
Откройте браузер, и вы увидите, что TiddlyWiki запущен и работает.
Нажмите «шестеренка» справа, чтобы войти на страницу настроек.Помимо обычных операций, вы также можете настроить плагины, языковые пакеты, темы и т. д.
Далее возьмем в качестве примера настройку TiddlyWiki для китайского языка, откроем вкладку плагина на панели настроек, кликнем по плагину, выберем категорию языкового пакета, найдем китайский языковой пакет и нажмем кнопку «Установить». кнопка.
После завершения загрузки вверху страницы появится желтая подсказка, нажимайте по очереди кнопки «Сохранить» и «Обновить» в строке подсказок.
Затем вернитесь на домашнюю страницу панели конфигурации, прокрутите страницу вниз, найдите пункт конфигурации языка, выберите китайский, подождите 1 или 2 секунды, и конфигурация языкового пакета вступит в силу.
Конфигурация загрузки других плагинов аналогична Вернувшись на домашнюю страницу, мы видим, что панель инструментов в правой части интерфейса изменилась на китайский язык.
А содержание статьи написано на каком языке, какой контент будет отображаться, если вы хотите сделать мультиязычный сайт, вы можете изучить его, TiddlyWiki это тоже поддерживает.
Затем вы можете начать официальное путешествие по вики.Нажмите знак «+» рядом с шестеренкой на панели инструментов, чтобы создать новую статью, и щелкните значок пера существующего содержимого на странице, чтобы изменить существующее содержимое.
Вы можете исследовать больше самостоятельно.
Наконец
Если вы не очень хорошо знакомы с Docker, Traefik и Compose, обсуждаемыми в этой статье, добро пожаловать к прочтению моих предыдущих статей, чтобы получить полное представление о вышеупомянутых технологиях.Я надеюсь, что мои статьи могут быть вам полезны.
Далее я продолжу знакомить с установочной конфигурацией и волшебной модификацией нескольких различных систем Wiki.Если вы также думаете о том, как поддерживать набор инструментов управления знаниями, чтобы вам было удобно их использовать, вы можете продолжать обращать внимание и до встречи в следующий раз.
— ЭОФ
Теперь у меня есть небольшая группа по метанию, в которую входят друзья, которые любят метать.
В отсутствие рекламы мы будем вместе болтать о софте, HomeLab и вопросах программирования, а также время от времени будем делиться технической информацией о салоне в группе.
Друзья, которые любят бросать, могут отсканировать код, чтобы добавить друзей. (Пожалуйста, укажите источник и цель, иначе не пройдет проверку)