用docker构建frp反代服务代理本地主机上的业务--失败

webpenson, 31 八月, 2021

这里我们使用https://www.cnblogs.com/thyong/p/8509040.html这位博主已经创建好的镜像

先创建docker网络 他是nginx-proxy 我们就不改了

docker network create nginx-proxy

然后使用docker compose创建

创建工作目录:

cd /usr
mkdir frp && cd frp
mkdir frp_image && cd frp_image

先创建一个frp的默认配置文件:

mkdir conf && vim conf/frps.ini

把以下内容填入 frps.ini:

[common]
bind_addr = 0.0.0.0
bind_port = 7000
kcp_bind_port = 7000
vhost_http_port = 80
vhost_https_port = 443
dashboard_addr = 0.0.0.0
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = admin
authentication_timeout = 0
subdomain_host = frp.sharestart.cn

创建工作目录:

mkdir /usr/frp/frp_compose && cd /usr/frp/frp_compose

vim docker-compose.yml

把以下内容填入docker-compose.yml:

version: '3'

services:
  frp:
    image: penson/my-frp:latest
    container_name: my-frp
    ports:
      - "7000:7000"
      - "7500:7500"
    expose:
      - 80
      - 443
    volumes:
      - frp_conf:/var/frp/conf
    restart: always
    environment:
      VIRTUAL_HOST: '*.frp.sharestart.cn,frp.sharestart.cn'   # 指定需要绑定的域名

volumes:
    frp_conf:

networks:
  default:
    external:
      name: nginx-proxy # 此处的nginx-proxy为之前创建的docker network

运行我们的compose:

docker-compose up -d

没有docker-compose   安装apt-get install docker-compose

可能是docker版本和博主的不一样  提示出错

ERROR: Version in "./docker-compose.yml" is unsupported. You might be seeing this error because you're using the wrong Compose file version. Either specify a version of "2" (or "2.0") and place your service definitions under the `services` key, or omit the `version` key and place your service definitions at the root of the file to use version 1.
For more on the Compose file format versions, see https://docs.docker.com/compose/compose-file/

修改docker-compose.yml文件中

version: '3'  为  version: '2'

成功

尝试打开网站  提示要登入  admin admin

子域地址不对? frp.thyiad.top  所以上面这个配置文件没用?要进docker里面改吗?

docker经不去  一直卡在那里

失败

尝试docker file创建自己的镜像

cd /usr/frp/frp_image

vim dockerfile:

FROM ubuntu

ARG FRP_VERSION=0.16.0

RUN apt update \
    && apt install -y wget

WORKDIR /tmp
RUN set -x \
    && wget https://github.com/fatedier/frp/releases/download/v${FRP_VERSION}/frp_${FRP_VERSION}_linux_amd64.tar.gz \
    && tar -zxf frp_${FRP_VERSION}_linux_amd64.tar.gz \
    && mv frp_${FRP_VERSION}_linux_amd64 /var/frp \
    && mkdir -p /var/frp/conf \
    && apt remove -y wget \
    && apt autoremove -y \
    && rm -rf /var/lib/apt/lists/*

COPY conf/frps.ini /var/frp/conf/frps.ini

VOLUME /var/frp/conf    # conf被配置成了卷,方便以后修改frps.ini

WORKDIR /var/frp
ENTRYPOINT ./frps -c ./conf/frps.ini

这个dockerfile执行了以下操作:

  • ubuntu系统
  • 从github上下载frp的release版本
  • 解压
  • 从conf目录中读取替换默认的frps.ini

此时就可以使用docker build命令进行编译镜像了,命令为:

docker build -t="penson/my-frp" .

失败  子域地址依旧是 frp.thyiad.top

不知是哪里问题??

 

 

 

评论