[Практика проекта Docker] Развертывание общей файловой платформы PicoShare с помощью Docker
[Практика проекта Docker] Развертывание общей файловой платформы PicoShare с помощью Docker

1. Знакомство с PicoShare

1.1 Знакомство с PicoShare

PicoShare — это минималистичный и простой в размещении сервис для обмена изображениями и другими файлами.

1.2 Преимущества PicoShare

  • Прямая ссылка для скачивания: PicoShare предоставляет вам прямую ссылку для скачивания, которой вы можете поделиться с кем угодно. Они могут просматривать или скачивать файлы без рекламы и регистрации.
  • Никаких ограничений на файлы: в отличие от таких сайтов, как imgur, Vimeo или SoundCloud, которые позволяют вам делиться только определенными типами файлов, PicoShare позволяет вам делиться любым файлом любого размера.
  • Изменение размера/перекодирование не требуется: если вы загружаете медиафайлы, такие как изображения, видео или аудио, PicoShare никогда не заставит вас ждать перекодирования. Загрузив файл, вы мгновенно получите прямую ссылку для скачивания, и PicoShare никогда не будет изменять размер или перекодировать ваш файл.

1.3 Сценарии использования PicoShare

  • Делитесь файлами на рабочем месте: PicoShare можно использовать для обмена изображениями и другими файлами внутри команды. Члены команды могут загружать и скачивать файлы, чтобы легко обмениваться проектными материалами, файлами дизайна, отчетами и многим другим. Это повышает эффективность командной работы и сотрудничества.
  • Отображение изображений в личном блоге или на веб-сайте: PicoShare можно использовать для отображения изображений в личном блоге или на веб-сайте. Пользователи могут загружать изображения в PicoShare и вставлять их в свои блоги или веб-сайты, используя ссылки, предоставляемые PicoShare.
  • Делитесь фотографиями в социальных сетях: PicoShare можно использовать для обмена фотографиями в социальных сетях. Пользователи могут загружать фотографии в PicoShare и делиться ими с друзьями, поклонниками и подписчиками в социальных сетях, используя ссылки, предоставленные PicoShare.
  • Делитесь фотографиями на форумах или в сообществах: PicoShare можно использовать для обмена фотографиями на форумах или в сообществах. Пользователи могут загружать изображения в PicoShare и делиться ссылкой с другими участниками форума или сообщества для презентации, обсуждения или ответа на вопросы.
  • Передача файлов на мобильные устройства: PicoShare можно использовать для передачи файлов между мобильными устройствами. Пользователи могут загружать файлы в PicoShare, а также передавать их между различными устройствами, используя ссылки, предоставляемые PicoShare.
  • Временный обмен файлами: PicoShare можно использовать для временного обмена файлами, например, при передаче информации на собрании или когда команде необходимо временно поделиться файлами.

2. Знакомство с местной средой

2.1 Планирование местной окружающей среды

Эта практика представляет собой личную тестовую среду, а версия операционной системы — centos7.6.

hostname

IP-адрес

Версия операционной системы

Докер-версия

jeven

192.168.3.166

centos 7.6

2 20.10.17

2.2 Введение в эту практику

1. Среда развертывания для этой практики — это персональная тестовая среда, будьте осторожны в производственной среде;

2. Разверните инструмент PicoShare в среде Docker.

3. Проверка местной окружающей среды

3.1 Проверка статуса службы Docker

Проверьте, нормально ли работает служба Docker, и убедитесь, что Docker работает нормально.

Язык кода:bash
копировать
[root@jeven ~]#  systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: active (running) since Sun 2024-01-21 14:36:20 CST; 24h ago
     Docs: https://docs.docker.com
 Main PID: 70926 (dockerd)
    Tasks: 22
   Memory: 59.9M
   CGroup: /system.slice/docker.service

3.2 Проверьте версию Docker

Проверьте версию Докера

Язык кода:bash
копировать
[root@jeven ~]# docker -v
Docker version 20.10.17, build 100c701

3.3 Проверьте версию Docker Compose

Проверьте версию Docker Compose, чтобы убедиться, что она выше 2.0.

Язык кода:bash
копировать
[root@jeven ~]# docker compose version
Docker Compose version v2.6.0

4. Загрузите образ PicoShare.

Извлеките образ PicoShare из Docker Hub.

Язык кода:bash
копировать
[root@jeven ~]# docker pull  mtlynch/picoshare
Using default tag: latest
latest: Pulling from mtlynch/picoshare
3695f6c099b8: Pull complete
310a6e8c94e1: Pull complete
5f31d7ececf5: Pull complete
29a0c806d8ab: Pull complete
fd5cc2ea1e0b: Pull complete
53f5193c4004: Pull complete
39f1be42c455: Pull complete
4f4fb700ef54: Pull complete
Digest: sha256:0373b57465518a26429891831f993752a7b51bb18d581b6b06527ea478fb6ab5
Status: Downloaded newer image for mtlynch/picoshare:latest
docker.io/mtlynch/picoshare:latest

5. Развертывание PicoShare

5.1 Создайте каталог развертывания

Создайте каталог развертывания /data/picoshare.

Язык кода:bash
копировать
mkdir -p /data/picoshare  && cd /data/picoshare

5.2. Отредактируйте файл docker-compose.yaml.

Для развертывания с помощью docker-cli выполните следующую команду:

Язык кода:bash
копировать
docker run \
  --env "PORT=4001" \
  --env "PS_SHARED_SECRET=somesecretpass" \
  --publish 4001:4001/tcp \
  --volume "${PWD}/data:/data" \
  --name picoshare \
  mtlynch/picoshare

В этом практическом развертывании используется docker Compose. Отредактируйте файл docker-compose.yaml, и вы сможете самостоятельно изменить пароль и сопоставить порт.

Язык кода:yaml
копировать
version: "3.2"
services:
  picoshare:
    image: mtlynch/picoshare
    restart: always
    environment:
      - PORT=4001
      - PS_SHARED_SECRET=admin # Change to any password
    ports:
      - 4261:4001
    command: -db /data/store.db
    volumes:
      - ./data:/data

5.3 Создание контейнера PicoShare

Создайте контейнер PicoShare, используя файл docker-compose.yaml.

Язык кода:bash
копировать
docker compose up -d
Вставьте сюда описание изображения
Вставьте сюда описание изображения

5.4 Проверка статуса контейнера PicoShare

Проверьте состояние контейнера PicoShare, чтобы убедиться, что контейнер PicoShare запускается нормально.

Язык кода:bash
копировать
[root@jeven picoshare]# docker compose ps
NAME                    COMMAND                  SERVICE             STATUS              PORTS
picoshare-picoshare-1   "/app/docker-entrypo…"   picoshare           running             0.0.0.0:4261->4001/tcp, :::4261->4001/tcp

5.5 Проверка журналов контейнера PicoShare

Проверьте журнал работы контейнера PicoShare, чтобы убедиться, что служба PicoShare работает нормально.

Язык кода:bash
копировать
docker compose logs
Вставьте сюда описание изображения
Вставьте сюда описание изображения

6. Посетите домашнюю страницу PicoShare.

6.1 Войдите на страницу входа в PicoShare

Адрес доступа: http://192.168.3.166:3000, замените IP на IP-адрес вашего собственного сервера и войдите на домашнюю страницу PicoShare. Если к нему нет доступа, проверьте, настроен ли брандмауэр сервера, разрешен ли порт группы безопасности облачного сервера и т. д. Нажмите кнопку входа в правом верхнем углу, чтобы войти на страницу входа в PicoShare.

Вставьте сюда описание изображения
Вставьте сюда описание изображения

6.2 Посетите домашнюю страницу PicoShare

Введите пароль, ранее настроенный в docker-compose.yaml, и войдите на домашнюю страницу PicoShare.

Вставьте сюда описание изображения
Вставьте сюда описание изображения
Вставьте сюда описание изображения
Вставьте сюда описание изображения

7. Базовое использование PicoShare

7.1 Загрузка файлов

Нажмите кнопку «Загрузить файл», чтобы загрузить локальные файлы в PicoShare.

Вставьте сюда описание изображения
Вставьте сюда описание изображения
Вставьте сюда описание изображения
Вставьте сюда описание изображения

7.2 Просмотр общих файлов

Скопируйте ссылку для общего доступа к файлу и отправьте ее другим пользователям.

Вставьте сюда описание изображения
Вставьте сюда описание изображения

Откройте ссылку для обмена файлами в браузере, вы можете просмотреть файл онлайн или нажать, чтобы загрузить общий файл.

Вставьте сюда описание изображения
Вставьте сюда описание изображения

7.3 Просмотр списка файлов

Нажмите на модуль «Файлы» выше, чтобы просмотреть список всех загруженных файлов.

Вставьте сюда описание изображения
Вставьте сюда описание изображения

7.4 Создание гостевых ссылок

Выберите модуль «Гостевые ссылки». Гостевые ссылки позволяют другим пользователям загружать файлы на этот сервер PicoShare без входа в систему. Если вы хотите, чтобы кто-то легко нашел способ поделиться файлом по гостевой ссылке.

  • Выберите новую гостевую ссылку
Вставьте сюда описание изображения
Вставьте сюда описание изображения
  • Заполните информацию, связанную с гостевой ссылкой, и подтвердите создание.
Вставьте сюда описание изображения
Вставьте сюда описание изображения
  • Посмотреть список гостевых ссылок
Вставьте сюда описание изображения
Вставьте сюда описание изображения
  • Загружайте файлы по гостевой ссылке без входа в систему.
Вставьте сюда описание изображения
Вставьте сюда описание изображения
Вставьте сюда описание изображения
Вставьте сюда описание изображения

7.5 Проверьте размер дискового пространства

система — Использование диска, проверьте использование диска.

Вставьте сюда описание изображения
Вставьте сюда описание изображения
Вставьте сюда описание изображения
Вставьте сюда описание изображения

8. Резюме

PicoShare — это легкий инструмент для обмена файлами, который обеспечивает удобство нашей повседневной работы и учебы. Он имеет интуитивно понятный и лаконичный интерфейс, управление очень простое и позволяет быстро загружать файлы. В частности, функция гостевой ссылки позволяет нам легко обмениваться временными файлами, устраняя необходимость входа других в систему, что очень практично. Кроме того, PicoShare может быстро открывать общие файлы, а также можно настроить срок действия общих ссылок. Срок действия ссылки можно установить по мере необходимости, что очень подходит для наших нужд. В целом PicoShare — отличный инструмент для обмена файлами, и его стоит использовать!

Я участвую в пятом выпуске специального учебного лагеря Tencent Technology Creation 2024 с эссе, получившими награды. Приходите и разделите приз со мной!

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose