
Paste 是一款轻量级的代码编写与分享网页应用,前端基于 React 框架构建,后端数据存储由独立的 bytebin Web 服务处理。项目以简洁为核心设计理念,让开发者能够快速编写代码并通过分享链接将内容便捷地传递给他人。
本次实践为个人测试环境,操作系统版本为 Ubuntu 24.04.2 LTS。
hostname | IP地址 | 操作系统版本 | Docker版本 | 部署项目 | 备注 |
|---|---|---|---|---|---|
jeven | 192.168.3.88 | Ubuntu 24.04.2 LTS | 28.5.0 | paste | —— |
1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下安装paste代码分享工具。
检查Docker服务是否正常运行,确保Docker正常运行。
root@jeven:~# systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; preset: enabled)
Active: active (running) since Sun 2026-05-31 23:17:28 CST; 1 month 29 days ago
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
Main PID: 945 (dockerd)
Tasks: 117
Memory: 787.7M (peak: 1018.4M swap: 11.8M swap peak: 12.6M)
CPU: 58min 1.415s
CGroup: /system.slice/docker.service
检查Docker版本
root@jeven:~# docker -v
Docker version 28.5.0, build 887030f检查Docker compose版本,确保2.0以上版本。
root@jeven:~# docker compose version
Docker Compose version v2.39.4执行以下命令,拉取 Paste 镜像:
docker pull registry.cn-hangzhou.aliyuncs.com/jeson/bytebin:latest
docker pull registry.cn-hangzhou.aliyuncs.com/jeson/paste:latest
git clone https://github.com/lucko/pasteroot@jeven:~# cd /data/paste/
root@jeven:/data/paste# ls -l
总计 144
-rw-r--r-- 1 root root 2221 8月 14 13:48 API.md
drwxr-xr-x 2 root root 4096 8月 14 15:00 docker
-rw-r--r-- 1 root root 626 8月 14 15:01 docker-compose.yml
-rw-r--r-- 1 root root 363 8月 14 13:48 Dockerfile
-rw-r--r-- 1 root root 734 8月 14 13:48 eslint.config.js
-rw-r--r-- 1 root root 1238 8月 14 13:48 index.html
-rw-r--r-- 1 root root 1111 8月 14 13:48 LICENSE.txt
-rw-r--r-- 1 root root 1251 8月 14 13:48 package.json
drwxr-xr-x 3 root root 4096 8月 14 13:48 public
-rw-r--r-- 1 root root 2220 8月 14 13:48 README.md
drwxr-xr-x 6 root root 4096 8月 14 13:48 src
-rw-r--r-- 1 root root 665 8月 14 13:48 tsconfig.app.json
-rw-r--r-- 1 root root 119 8月 14 13:48 tsconfig.json
-rw-r--r-- 1 root root 593 8月 14 13:48 tsconfig.node.json
-rw-r--r-- 1 root root 134 8月 14 13:48 vercel.json
-rw-r--r-- 1 root root 374 8月 14 13:48 vite.config.ts
-rw-r--r-- 1 root root 81610 8月 14 13:48 yarn.lock我们需要对部署文件
docker-compose.yml进行三处修改:将前端和后端容器镜像替换为国内镜像,以加速拉取;同时,在后端容器的环境变量中,设置其绑定到所有网卡的 8080 端口。具体修改如下:
services:
# frontend service
paste:
image: registry.cn-hangzhou.aliyuncs.com/jeson/paste
# backend service
bytebin:
image: registry.cn-hangzhou.aliyuncs.com/jeson/bytebin
volumes:
- data:/opt/bytebin/content
environment:
BYTEBIN_MISC_KEYLENGTH: 5
BYTEBIN_HTTP_HOST: 0.0.0.0
BYTEBIN_HTTP_PORT: 8080
# reverse proxy
nginx:
image: nginx:alpine
command: ['nginx', '-g', 'daemon off;']
depends_on:
- paste
- bytebin
ports:
- 8080:80
volumes:
- ./docker/reverseproxy-nginx.conf:/etc/nginx/conf.d/default.conf:ro
volumes:
data: {}
部署文件修改完毕后,我们一键创建paste服务。
docker compose up -d
检查paste容器运行状态,确保paste容器正常启动。
root@jeven:/data/paste# docker compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
paste-bytebin-1 registry.cn-hangzhou.aliyuncs.com/jeson/bytebin "/__cacert_entrypoin…" bytebin 22 seconds ago Up 22 seconds (health: starting) 8080/tcp
paste-nginx-1 nginx:alpine "/docker-entrypoint.…" nginx 22 seconds ago Up 22 seconds 0.0.0.0:8080->80/tcp, [::]:8080->80/tcp
paste-paste-1 registry.cn-hangzhou.aliyuncs.com/jeson/paste "/docker-entrypoint.…" paste 22 seconds ago Up 22 seconds 80/tcp
检查容器运行日志,确保paste服务正常运行。
docker compose logs
浏览器地址:
http://<个人的服务器IP>:8080,访问paste初始页。如果无法访问,请确保宿主机的防火墙已关闭或已放行相关端口,对于云服务器还需配置相应的安全组规则。

在编辑器内,我们编写需要分享的代码,编写完毕后,点击保存。

代码片段保存后,会生成一个分享链接,我们点击即可复制该链接。

将该分享链接粘贴到局域网内其余电脑的浏览器,可以看到刚才编写的代码片段。

本次实践基于Ubuntu 24.04系统,依托Docker容器技术完成了Paste代码分享工具的完整部署流程,有效解决了官方镜像拉取缓慢的问题。通过替换国内阿里云镜像、配置后端服务监听全网网卡,规避了容器端口访问异常、服务连接拒绝等常见部署报错,保障了前后端服务正常联动。部署完成后,成功实现了代码在线编辑、保存以及局域网链接分享的核心功能,验证了整套部署方案的可行性与稳定性。Paste工具轻量化、部署便捷、使用简单,十分适合个人开发者、内网团队用于快速共享代码片段,具备极高的日常实用性。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。