docker 构建本地 frp

cmd 复制代码
cd /home2/market/frp45
docker rm -f frp45
docker rmi frp45
docker build  --no-cache --progress plain -t frp45 .
docker run -d  \
--ulimit nofile=65535:65535 --ulimit nproc=65535:65535 \
 -v /home2/market/frp45/frp/frpc.ini:/frp/frpc.ini \
--name frp45 frp45 

不知道为什么必须挂载到文件,挂载到目录会运行不起来

原因:/home2/market/frp45/frp 下只有配置文件 运行找不到程序 可以将程序也放到这里就可以运行了 测试了不对

1)docker run -d --ulimit nofile=65535:65535 --ulimit nproc=65535:65535 -v /home2/market/frp45/frp/frpc.ini:/frp/frpc.ini --name frp45 frp45 可以运行 2)docker run -d --ulimit nofile=65535:65535 --ulimit nproc=65535:65535 -v /home2/market/frp45/frp:/frp --name frp45 frp45 不能运行 [在第一个能运行的命令中,你只挂载了/home2/market/frp45/frp/frpc.ini这个配置文件到容器内的/frp/frpc.ini。容器内的程序可能期望在这个特定位置找到配置文件,并且这种挂载方式不会干扰容器内/frp目录下的其他文件结构(假设程序只关心这个配置文件的挂载)。 而在第二个不能运行的命令中,你挂载了/home2/market/frp45/frp整个目录到容器内的/frp目录。如果容器内的/frp目录已经有一些程序预期的特定文件结构(比如某些库文件、二进制文件等),这种挂载可能会覆盖这些内容,导致程序无法找到它所需要的文件。例如,容器内原本/frp目录下有一个frpc可执行文件,挂载后可能被宿主机/home2/market/frp45/frp目录下的内容(如果没有frpc文件)覆盖,从而使程序无法启动]。

--no-cache --progress plain:作用 在构建时输出构建明细 用作调试

Dockerfile 复制代码
FROM registry.cn-hangzhou.aliyuncs.com/luckyju/openjdk:8-jdk-alpine

MAINTAINER "ZICHU"

# frp版本
ENV FRP_VERSION 0.45.0

# 创建 /frp 目录用于存放 frp 相关文件
RUN mkdir -p /frp

# 设置容器内工作目录为 /frp
WORKDIR /frp

# 复制宿主机上的 frp 压缩包到容器内的工作目录
COPY frp_0.45.0_linux_amd64.tar.gz ./

# 解压 frp 压缩包并删除原压缩包(这里假设解压后的目录结构符合预期)
RUN tar -xvzf frp_0.45.0_linux_amd64.tar.gz -C ./ --strip-components=1   \
    && rm -f frp_0.45.0_linux_amd64.tar.gz  \
	&& ls && pwd

# SERVER端口(根据实际需求暴露相应端口,这里仅为示例)
EXPOSE 7200

# 网页端管理端口(根据实际需求暴露相应端口,这里仅为示例)
EXPOSE 13306 

RUN  chmod +x /frp/frpc && pwd && ls   && find /frp -name "frpc"
# 定义容器启动时执行的命令(这里假设 frpc 相关配置文件等都已准备好,需根据实际调整)
ENTRYPOINT ["./frpc","-c","frpc.ini"]
相关推荐
rannn_1114 分钟前
【苍穹外卖|Day4】套餐页面开发(新增套餐、分页查询、删除套餐、修改套餐、起售停售)
java·spring boot·后端·学习
qq_12498707538 分钟前
基于JavaWeb的大学生房屋租赁系统(源码+论文+部署+安装)
java·数据库·人工智能·spring boot·计算机视觉·毕业设计·计算机毕业设计
短剑重铸之日14 分钟前
《设计模式》第十一篇:总结
java·后端·设计模式·总结
说实话起个名字真难啊24 分钟前
用docker来安装openclaw
docker·ai·容器
若鱼191936 分钟前
SpringBoot4.0新特性-Observability让生产环境更易于观测
java·spring
觉醒大王1 小时前
强女思维:着急,是贪欲外显的相。
java·论文阅读·笔记·深度学习·学习·自然语言处理·学习方法
恬静的小魔龙1 小时前
【群晖Nas】群晖Nas中实现SVN Server功能、Docker/ContainerManager等
docker·svn·容器
努力学编程呀(๑•ี_เ•ี๑)1 小时前
【在 IntelliJ IDEA 中切换项目 JDK 版本】
java·开发语言·intellij-idea
码农小卡拉1 小时前
深入解析Spring Boot文件加载顺序与加载方式
java·数据库·spring boot
向上的车轮1 小时前
为什么.NET(C#)转 Java 开发时常常在“吐槽”Java:checked exception
java·c#·.net