【云原生之Docker实战】使用docker部署Pingvin Share文件共享平台
一、Pingvin Share介绍
1.Pingvin Share简介
Pingvin Share 是自托管文件共享平台,是 WeTransfer 的替代方案。
2.Pingvin Share特点
- 在 2 分钟内启动您的实例
- 使用可通过链接访问的文件创建共享
- 没有文件大小限制,只有你的磁盘是你的限制
- 设置共享到期时间
- 可选择使用访问者限制和密码来保护您的共享
- 电子邮件收件人
- 明暗模式
二、检查本地docker环境
1.检查docker版本
[root@jeven ~]# docker version
Client: Docker Engine - Community
Version: 20.10.17
API version: 1.41
Go version: go1.17.11
Git commit: 100c701
Built: Mon Jun 6 23:05:12 2022
OS/Arch: linux/amd64
Context: default
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 20.10.17
API version: 1.41 (minimum version 1.12)
Go version: go1.17.11
Git commit: a89b842
Built: Mon Jun 6 23:03:33 2022
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.6.6
GitCommit: 10c12954828e7c7c9b6e0ea9b0c02b01407d3ae1
runc:
Version: 1.1.2
GitCommit: v1.1.2-0-ga916309
docker-init:
Version: 0.19.0
GitCommit: de40ad0
2.检查docker状态
[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 Mon 2023-01-02 23:06:06 CST; 1 day 15h ago
Docs: https://docs.docker.com
Main PID: 100874 (dockerd)
Tasks: 33
Memory: 66.3M
CGroup: /system.slice/docker.service
├─100874 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
├─102557 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 8018 -container-ip 172.22.0.2 -container-port 1...
└─102563 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 8018 -container-ip 172.22.0.2 -container-port 1200
Jan 02 23:06:06 jeven dockerd[100874]: time="2023-01-02T23:06:06.644522593+08:00" level=info msg="Daemon has completed in...zation"
Jan 02 23:06:06 jeven systemd[1]: Started Docker Application Container Engine.
Jan 02 23:06:06 jeven dockerd[100874]: time="2023-01-02T23:06:06.740882048+08:00" level=info msg="API listen on /var/run/...r.sock"
Jan 02 23:06:52 jeven dockerd[100874]: time="2023-01-02T23:06:52.622428751+08:00" level=info msg="ignoring event" contain...Delete"
Jan 02 23:06:52 jeven dockerd[100874]: time="2023-01-02T23:06:52.629268807+08:00" level=info msg="ignoring event" contain...Delete"
Jan 02 23:06:52 jeven dockerd[100874]: time="2023-01-02T23:06:52.693618594+08:00" level=info msg="ignoring event" contain...Delete"
Jan 02 23:06:53 jeven dockerd[100874]: time="2023-01-02T23:06:53.621222210+08:00" level=info msg="ignoring event" contain...Delete"
Jan 02 23:06:54 jeven dockerd[100874]: time="2023-01-02T23:06:54.300983365+08:00" level=info msg="ignoring event" contain...Delete"
Jan 02 23:07:02 jeven dockerd[100874]: time="2023-01-02T23:07:02.578298331+08:00" level=info msg="Container failed to exi...9fda827
Jan 02 23:07:02 jeven dockerd[100874]: time="2023-01-02T23:07:02.615871966+08:00" level=info msg="ignoring event" contain...Delete"
Hint: Some lines were ellipsized, use -l to show in full.
3.检查docker compose版本
[root@jeven ~]# docker compose version
Docker Compose version v2.6.0
三、下载Pingvin Share镜像
[root@jeven ~]# docker pull stonith404/pingvin-share
Using default tag: latest
latest: Pulling from stonith404/pingvin-share
3f4ca61aafcd: Already exists
00fde01815c9: Already exists
723367e6ef2d: Pull complete
907e6809ddf0: Pull complete
128624e9c76a: Pull complete
384daa63a121: Pull complete
6b46ad7f87a8: Pull complete
66cffa2c21ee: Pull complete
86f10f50d0f2: Pull complete
da1ccec27d01: Pull complete
e21c691c712c: Pull complete
ef24f27bc7b3: Pull complete
a8ea593babd3: Pull complete
e18e671ba25f: Pull complete
4cdf34632590: Pull complete
4f4fb700ef54: Pull complete
Digest: sha256:370c3ea43e6fc369ca9051ae2c42773e3ca3cda9b9373ebbce5c317eeb330ab7
Status: Downloaded newer image for stonith404/pingvin-share:latest
docker.io/stonith404/pingvin-share:latest
四、docker-cli部署Pingvin Share
docker run -d --name pingvin --restart always -p 3022:3000 -v /data/pingvin/data:/opt/app/backend/data stonith404/pingvin-share
五、docker compose部署Pingvin Share
1.创建数据目录
[root@jeven ~]# mkdir -p /data/pingvin
[root@jeven ~]# cd /data/pingvin/
[root@jeven pingvin]#
2.编辑docker-compose.yaml
[root@jeven pingvin]# cat docker-compose.yaml
version: '3.8'
services:
pingvin-share:
image: stonith404/pingvin-share
container_name: pingvin
restart: unless-stopped
ports:
- 3022:3000
volumes:
- "/data/pingvin/data:/opt/app/backend/data"
3.创建Pingvin Share容器
[root@jeven pingvin]# docker compose up -d
[+] Running 2/2
⠿ Network pingvin_default Created 0.1s
⠿ Container pingvin Started 0.7s
4.查看容器状态
[root@jeven pingvin]# docker compose ps
NAME COMMAND SERVICE STATUS PORTS
pingvin "docker-entrypoint.s…" pingvin-share running 0.0.0.0:3022->3000/tcp, :::3022->3000/tcp
六、访问Pingvin Share首页
http://192.168.3.166:3022/
七、Pingvin Share的基本使用
1.注册账号
2.设置服务器网址
3.分享文件
4.查看文件分享链接