怎么样免费做公司网站,免费网站app下载,免费建立个人网站申请,怎么做卡商网站开启外部缓存
http://your_apt_cacher_ng_server:3142 是一个示例 URL#xff0c;表示需要设置的 apt-cacher-ng 代理服务器的地址。apt-cacher-ng 是一个本地代理服务器#xff0c;可以缓存从官方 APT 仓库下载的软件包#xff0c;从而加速后续的下载过程#xff0c;并减…开启外部缓存
http://your_apt_cacher_ng_server:3142 是一个示例 URL表示需要设置的 apt-cacher-ng 代理服务器的地址。apt-cacher-ng 是一个本地代理服务器可以缓存从官方 APT 仓库下载的软件包从而加速后续的下载过程并减少带宽消耗。
如何设置和使用 apt-cacher-ng
以下是设置 apt-cacher-ng 代理服务器的步骤
1. 安装 apt-cacher-ng 服务器
在你的本地机器或一个单独的服务器上安装 apt-cacher-ng
sudo apt-get update
sudo apt-get install apt-cacher-ng2. 启动 apt-cacher-ng
安装完成后apt-cacher-ng 服务会自动启动并监听端口 3142。通过以下命令确认它是否正在运行
sudo systemctl status apt-cacher-ng在/etc/docker/daemon.json中添加
{features: {buildkit: true}
}// 重启docker
systemctl restart docker3. 配置 Dockerfile 使用 apt-cacher-ng 代理
在 Dockerfile 中配置 APT 使用 apt-cacher-ng 代理。如果 apt-cacher-ng 服务器在本地主机运行可以使用 host.docker.internalDocker 在 macOS 和 Windows 上支持Linux 需要设置具体的 IP例如我下面的Dockerfile
# syntaxdocker/dockerfile:1.3
FROM {{ .BaseInfo.BaseImage }}{{ if .BaseInfo.Maintainer }}
LABEL maintainer{{ .BaseInfo.Maintainer }}
{{ end }}{{ if .BaseInfo.User }}
USER {{ .BaseInfo.User }}
{{ else }}
USER root
{{ end }}# 使用更快的 apt 源并配置 apt-cacher-ng 代理
RUN sed -i s|http://archive.ubuntu.com/ubuntu/|http://mirrors.aliyun.com/ubuntu/|g /etc/apt/sources.list
RUN echo Acquire::http::Proxy http://host.docker.internal:3142; /etc/apt/apt.conf.d/01proxy# 安装基础依赖并使用缓存
RUN --mounttypecache,target/var/cache/apt \apt-get update apt-get install -y \gnupg \apt-utils \curl \software-properties-common# 设置 DEBIAN_FRONTEND 环境变量
ENV DEBIAN_FRONTENDnoninteractive# 安装其他依赖并使用缓存
RUN --mounttypecache,target/var/cache/apt \apt-get update \apt-get install -y \openssh-server \vim \language-pack-en \lxde-core \lxterminal \tightvncserver \expect \python3-pip \rm -rf /var/lib/apt/lists/*# 更新 pip 并安装 jupyterlab使用缓存
RUN mkdir -p /root/.pip
COPY pip.conf /root/.pip/pip.confRUN python3 -m pip install -U pipRUN --mounttypecache,target/root/.cache/pip \python3 -m pip install jupyterlab mkdir /root/jupyterlab# 设置 SSH 环境
RUN mkdir /run/sshd
RUN sed -i s/#PermitRootLogin prohibit-password/PermitRootLogin yes/ /etc/ssh/sshd_config \sed -i s/PermitRootLogin prohibit-password/PermitRootLogin yes/ /etc/ssh/sshd_config
RUN sed ssession\s*required\s*pam_loginuid.sosession optional pam_loginuid.sog -i /etc/pam.d/sshd# 设置 VNC 环境
ENV USER root# 清理
RUN apt-get -qq -y autoremove apt-get autoclean rm -rf /var/lib/apt/lists/* /var/log/dpkg.log# 复制 shell 脚本
COPY start-notebook.sh /usr/local/bin/
COPY entrypoint.sh /usr/local/bin/# 赋予执行权限
RUN chmod ux /usr/local/bin/start-notebook.sh
RUN chmod ux /usr/local/bin/entrypoint.sh# 解决 locale 问题
ENV LANGUAGE en_US.UTF-8
ENV LANG en_US.UTF-8
ENV LC_ALL en_US.UTF-8
ENV LC_CTYPE en_US.UTF-8
RUN locale-gen en_US.UTF-8# 暴露端口
EXPOSE 22
EXPOSE 8888
EXPOSE 5901ENTRYPOINT [entrypoint.sh]
CMD []4. 测试构建
确保在构建镜像时启用 BuildKit
DOCKER_BUILDKIT1 docker build -t your_image_name .通过这种方法可以在不同的基础镜像之间共享 APT 包的缓存加快镜像构建速度。
可以通过多种方式查看 apt-cacher-ng 中缓存的内容。以下是一些常见的方法
查看缓存内容
1. 访问 Web 界面
打开浏览器访问
http://localhost:3142/acng-report.html2. 查看日志文件
less /var/log/apt-cacher-ng/apt-cacher.log3. 查看缓存目录
ls /var/cache/apt-cacher-ng/
du -sh /var/cache/apt-cacher-ng/