当前位置:首页 > 技术 > 正文内容

在Rocky 9上通过Docker Compose部署FRP内网穿透服务

访客 技术 2026年10月17日 1

以下是基于Rocky 9使用Docker Compose部署FRP内网穿透服务的详细步骤:

### 一、替换Docker源为阿里云源

为了提高下载速度,建议将Docker官方源替换为阿里云镜像源。

  • 备份原始Docker源配置文件:
sudo mv /etc/yum.repos.d/docker-ce.repo /etc/yum.repos.d/docker-ce.repo.backup
  • 创建新的Docker源配置文件`/etc/yum.repos.d/docker-ce.repo`,内容如下:
[docker-ce-stable]
name=Docker CE Stable - $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/$basearch/stable
enabled=1
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg

[docker-ce-test]
name=Docker CE Test - $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/$basearch/test
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg

[docker-ce-nightly]
name=Docker CE Nightly - $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/$basearch/nightly
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
### 二、安装Docker与Docker Compose #### 1. 安装Docker
  • 更新系统软件包:
sudo dnf update
  • 安装必要的依赖包:
sudo dnf install -y dnf-utils device-mapper-persistent-data lvm2
  • 添加Docker官方仓库:
sudo dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
  • 安装Docker:
sudo dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  • 启动并设置Docker开机自启:
sudo systemctl start docker
sudo systemctl enable docker
#### 2. 安装Docker Compose
  • 从GitHub下载最新版本的Docker Compose:
sudo curl -L "https://github.com/docker/compose/releases/download/v2.18.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
  • 赋予可执行权限:
sudo chmod +x /usr/local/bin/docker-compose
### 三、配置FRP服务端 #### 1. 创建FRP服务端目录
mkdir -p /opt/frp/server
cd /opt/frp/server
#### 2. 配置`frps.ini`
[common]
bind_port = 7000
token = your_custom_token
vhost_http_port = 8080
vhost_https_port = 443
tcp_mux = false

dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = your_password
enable_prometheus = true

log_file = /var/log/frps.log
log_level = info
log_max_days = 3
#### 3. 编写`docker-compose.yml`
version: '3'
services:
  frps:
    image: snowdreamtech/frps
    container_name: frps
    restart: always
    network_mode: host
    volumes:
      - ./frps.ini:/etc/frp/frps.ini
    command: ["-c", "/etc/frp/frps.ini"]
### 四、配置FRP客户端 #### 1. 创建FRP客户端目录
mkdir -p /opt/frp/client
cd /opt/frp/client
#### 2. 配置`frpc.ini`
[common]
server_addr = your_server_ip
server_port = 7000
token = your_custom_token

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6022
#### 3. 编写`docker-compose.yml`
version: '3'
services:
  frpc:
    image: snowdreamtech/frpc
    container_name: frpc
    restart: always
    network_mode: host
    volumes:
      - ./frpc.ini:/etc/frp/frpc.ini
    command: ["-c", "/etc/frp/frpc.ini"]
### 五、启动服务 #### 1. 启动服务端
docker-compose up -d
#### 2. 启动客户端
docker-compose up -d
### 六、验证服务

访问`http://your_server_ip:7500`以进入管理面板,确保客户端已成功连接。此外,尝试从外部网络SSH到`your_server_ip:6022`,验证是否能正常访问内网服务。

注意:请根据实际需求调整防火墙规则及FRP配置参数。

相关文章

Linux crontab 详解

1) crontab 是什么cron 是 Linux 的定时任务守护进程;crontab 是用来编辑/查看“按时间周期执行命令”的表(cron table)。常见两类:用户 crontab:每个用户一份(crontab -e 编辑)系统级 crontab / cron.d:可指定执行用户(/etc/crontab、/etc/cron.d/*)2) crontab 时间...

富文本里可以允许的 HTML 属性

一、所有标签默认允许的安全属性(极少)class        (可选)id           (通常建议禁用)title️ 注意:id 容易被滥用做锚点注入,很多系统直接禁用class 允许的话最好只允许固定前缀(如 editor-*)二、a 标签允许属性<a href="" t...

Mac 安装 Node.js 指南

方法一:通过官网安装包(最简单,适合初学者)如果你只是想快速安装并开始使用,这是最直接的方法。访问 Node.js 官网。页面会显示两个版本:LTS (Recommended For Most Users):长期支持版,最稳定。建议选这个。Current:最新特性版,包含最新功能但可能不够稳定。下载 .pkg 安装包并运行。按照安装向导点击“下一步”即可完成。方法二:使用 Homebrew 安装(...

Dom\HTML_NO_DEFAULT_NS 的副作用:自动加闭合标签

在使用Dom\HTMLDocument时,Dom\HTML_NO_DEFAULT_NS 将禁止在解析过程中设置元素的命名空间, 此设置是为了与DOMDocument向后兼容而存在的。当使用它时,已知的一个副作用就是:自动加闭合标签例如 </img> 为什么会这样?当你使用:Dom\HTML_NO_DEFAULT_NS文档会变成 无命名空间模式,此时内部更接近 XML...

Laravel 事件和监听器创建

在 Laravel 中,使用 Artisan 命令创建 Events(事件) 和 Listeners(监听器) 是非常高效的。你可以通过以下几种方式来实现:1. 手动创建单个 Event如果你只想创建一个事件类,可以使用 make:event 命令:Bashphp artisan make:event UserRegistered执行后,文件将生成在 app/Even...

自定义域名解析神器 dnsmasq

什么是 dnsmasq?dnsmasq 是一个轻量级、功能强大的网络服务工具,专为小型和中等规模网络设计。它是一个综合的网络基础设施解决方案[1]。dnsmasq 能做什么?功能说明应用场景DNS 转发与缓存将 DNS 查询转发到上游服务器(ISP、Google DNS 等),并在本地缓存结果加快 DNS 查询速度,减少外部 DNS 流量本地 DNS解析本地网络设备的主机名,无需编辑&n...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。