如何在Docker中运行Squid

测试环境

VMware Rocky Linux 9.4

实现步骤

过程:写一个Dockerfile构建Squid镜像; 再写一个启动脚本start_squid.sh,在启动脚本中配置并运行Squid。

编写Dockerfile

以rockylinux9.3做基础镜像,通过yum安装Squid, 拷贝squid.conf

FROM rockylinux:9.3WORKDIR /
RUN yum -y install procps net-tools squid
COPY squid.conf /etc/squid/squid.conf
COPY start_squid.sh /start_squid.sh
RUN chmod +x start_squid.shCMD ["sh", "-c", "/start_squid.sh"]

squid.conf可以在容器里装一个squid,再把/etc/squid/squid.conf拷出来,需要额外添加如下配置,从而以squid普通用户启动,否则启动会报错

cache_effective_user squid
cache_effective_group squid
cache_log /var/log/squid/cache.log
access_log /var/log/squid/access.log squid

编写启动脚本start_squid.sh

#!/bin/bashuseradd -M -s /sbin/nologin squid
mkdir -p /var/log/squid
chown -R squid:squid /var/log/squid
squidwhile true ; dosleep 60
done

注:

  • 添加squid用户,创建squid日志目录并通过chown正确设置属主属组
  • 脚本结尾通过while死循环,防止容器退出

构建镜像

docker build -f Dockerfile -t squid:1.0 .

启动容器

cid=$(docker run -d --privileged=true --net=host --ulimit nofile=65535:65535 squid:1.0)
docker exec -it ${cid} /bin/bash

可能会遇到报错: Squid启动失败 FATAL: xcalloc: Unable to allocate 1073741816 blocks of 432 bytes!

解决方法:容器内查看ulimit -n的值为1073741816,这个值太大了,导致Squid分配内存失败。 可以调成65535, 具体做法是给docker run添加参数 --ulimit nofile=65535:65535

详细参考: https://github.com/langgenius/dify/issues/4371

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/452986.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

15分钟学Go 第6天:变量与常量

第6天:变量与常量 在Go语言中,变量和常量是编程的基础概念。理解如何定义和使用它们不仅能帮助我们管理数据,还能增强代码的可读性和可维护性。在本章中,我们将详细探讨Go语言中的变量和常量,涵盖它们的定义、使用、作…

[Xshell] Xshell的下载安装使用及连接linux过程 详解(附下载链接)

前言 Xshell.zip 链接:https://pan.quark.cn/s/5d9d1836fafc 提取码:SPn7 安装 下载后解压得到文件 安装路径不要有中文 打开文件 注意!360等软件会拦截创建注册表的行为,需要全部允许、同意。或者退出360以后再安装。 在“绿化…

spdlog学习记录

spdlog Loggers:是 Spdlog 最基本的组件,负责记录日志消息。在 Spdlog 中,一个 Logger 对象代表着一个日志记录器,应用程序可以使用 Logger 对象记录不同级别的日志消息Sinks:决定了日志消息的输出位置。在 Spdlog 中&…

程序员节的故事:在代码的海洋中遨游

#1024程序员节 | 征文# 一年一度的程序员节又来了,作为一名热爱编程的开发者,我总是期待着这个特殊的日子。10月24日,不仅是程序员们的节日,更是我们分享故事、交流技术的时刻。今年的1024征文活动让我感到无比兴奋,因…

Axure重要元件三——中继器修改数据

亲爱的小伙伴,在您浏览之前,烦请关注一下,在此深表感谢! 课程主题:中继器修改数据 主要内容:显示编辑内容、表格赋值、修改数据 应用场景:更新行、表单数据行修改 案例展示: 正文…

STM32L031F6P6基于CubeMX的串口通信调试笔记

用CubeMX创建项目 本实例用的PA14、PA13两个引脚,LPUART1。 对串口参数进行设置: 开启串口中断: 时钟源设置成内部高频时钟: 对项目进行设置: 生成代码: 在串口初始化函数中加入 __HAL_UART_ENA…

C++11 thread,mutex,condition_variable,atomic,原子操作CAS,智能指针线程安全,单例模式最简单实现方式

1.thread 在c11中,c标准委员会开发出了thread库;接下来我们先来看看这个库的使用吧; 1.1 thread类接口介绍 1.1.1 thread类构造函数 我们thread库中的thread类的构造函数可以通过直接传递回调函数与函数的参数来构造线程: int…

THP4 SOP16 芯片 高速光耦芯片

光电耦合器输入端加电信号使发光源发光,光的强度取决于激励电流的大小,此光照射到封装在一起的受光器上后,因光电效应而产生了光电流,由受光器输出端引出,这样就实现了电一光一电的转换。 由于光耦合器输入输出间互相…

mysql主从复制及故障修复

一、主MySQL数据库的配置 分别在三台主机(chen2/10.110、chen3/10.120、chen4/10.130)中安装mysql数据,其中chen2/10.110作为主MySQL服务器,其余两台作为从MySQL服务器。 1、在主机上部署mysql数据库 详细的请看上一篇:mysql数据…

2021年江西省职业院校技能大赛(高职组) “云计算应用”赛项样题

2021年江西省职业院校技能大赛(高职组) “云计算应用”赛项样题 【任务 1】基础运维任务[5 分]【题目 1】基础环境配置【题目 2】镜像挂载【题目 3】Yum 源配置【题目 4】时间同步配置【题目 5】计算节点分区 【任务 2】OpenStack 搭建任务[15 分]【题目…

现今 CSS3 最强二维布局系统 Grid 网格布局

深入学习 CSS3 目前最强大的布局系统 Grid 网格布局 Grid 网格布局的基本认识 Grid 网格布局: Grid 布局是一个基于网格的二位布局系统,是目前 CSS 最强的布局系统,它可以同时对列和行进行处理(它将网页划分成一个个网格,可以任…

日本HarmonicDrive哈默纳科减速机SHF系列在半导体中的应用

半导体行业作为现代工业的核心领域之一,其技术的不断进步对于推动全球经济和科技创新起着至关重要的作用。而在半导体制造的复杂过程中,各种先进的设备和技术相互配合。日本 HarmonicDrive 哈默纳科减速机 SHF 系列具有优异的定位精度和旋转精度&#xf…

ES6扩展运算符

1.介绍: ... 扩展运算符能将数组转换为逗号分隔的参数序列; 扩展运算符(spread)也是三个点(...)。它好比 rest 参数的逆运算,将一个数组转为用逗号分隔的 参数序列,对数组进…

2024年最值得关注的5款数据可视化工具

在信息爆炸的时代,数据可视化工具扮演着至关重要的角色。它们帮助我们从海量数据中提取有价值的信息,并将这些信息以直观、易于理解的方式展现出来。无论是企业决策者、数据分析师还是普通用户,都能通过数据可视化工具更有效地分析和理解数据…

ESP32移植Openharmony外设篇(1)MQ-2烟雾传感器

外设篇 实验箱介绍 旗舰版实验箱由2部分组成:鸿蒙外设模块(支持同时8个工作)、鸿蒙平板。 其中,鸿蒙平板默认采用RK3566方案。 OpenHarmony外设模块采用底板传感器拓展板方式,底板默认采用ESP32方案,也…

【Linux】【Jenkins】后端maven项目打包教程-Linux版

本次安装版本:2.4 jenkins详细安装教程1、安装git环境2、安装mavne环境2.1 下载依赖2.2、解压、赋权2.2、配置环境变量2.3、验证安装 3、jenkins-插件下载3.1、进入jenkins-->系统管理3.2、进入系统管理-->插件管理3.3、下载两个插件(如果之前下载…

【JVM神秘大门】Java虚拟机原理的保姆式教学,零基础速成精英之路(上篇)

本篇会加入个人的所谓鱼式疯言 ❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言 而是理解过并总结出来通俗易懂的大白话, 小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的. 🤭🤭🤭可能说的不是那么严谨.但小编初心是能让更多人…

智慧园区的未来:三维可视化系统建设策略

园区三维可视化系统是指利用先进的数字技术和虚拟现实技术,对园区内部空间、设施、资源等进行实时模拟、展示和管理的系统。该系统可以帮助园区管理者更好地了解园区整体布局、资源分配情况,优化空间规划、设施管理,提高园区运营效率和服务水…

江恩理论(Gann Theory)

威廉江恩 威廉江恩(William D.Gann),1878年出生于美国德州,二十世纪最著名的投资家。在股票市场上的骄人成绩无人可比。 江恩理论 江恩理论是一种通过数学、几何学、宗教和天文学的综合运用,来分析和预测市场走势的投…

探索 Python 中的 XML 转换利器:xml2dict

文章目录 **探索 Python 中的 XML 转换利器:xml2dict**一、背景介绍二、xml2dict 是什么?三、如何安装 xml2dict?四、基本用法五、实际应用场景六、常见问题及解决方案七、总结 探索 Python 中的 XML 转换利器:xml2dict 一、背景…