总结国内加速拉取 Docker 镜像的几种方法
本文介绍多种方法加速Docker镜像拉取,包括利用Nginx、Cloudflare反向代理等方案,使国内服务器更高效获取海外Docker镜像。 目前仍可用的镜像(随时可能失效)12345678910111213sudo mkdir -p /etc/dockersudo tee /etc/docker/daemon.json <<-'EOF'{ "registry-mirrors": [ "https://docker.m.daocloud.io", "https://huecker.io", "https://dockerhub.timeweb.cloud", "https://noohub.ru" ]}EOFsudo systemctl daemon-reloadsudo systemctl restart docker 使用 Nginx 反向代理需要有一台国外...
Java 模拟死锁以及如何避免死锁
模拟死锁死锁是多线程编程中常见的问题,它发生在两个或多个线程相互等待对方释放资源的情况下。以下是一个简单的Java死锁模拟示例: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748public class DeadlockExample { public static void main(String[] args) { // 创建两个共享资源 final Object resource1 = new Object(); final Object resource2 = new Object(); // 线程1尝试获取资源1,然后资源2 Thread thread1 = new Thread(() -> { synchronized (resource1) { System.out.pr...
Debian 10/11 安装最新版 Nginx
Debian 10 安装最新版的Nginx要在Debian 10 上安装最新版的Nginx,可以使用以下步骤 1、更新系统12sudo apt updatesudo apt upgrade 2、添加 Nginx 的存储库密钥12wget http://nginx.org/keys/nginx_signing.keysudo apt-key add nginx_signing.key 3、添加 Nginx 的存储库到apt源列表中1echo "deb http://nginx.org/packages/mainline/debian/ $(lsb_release -cs) nginx" | sudo tee /etc/apt/sources.list.d/nginx.list 4、更新存储库并安装 Nginx1234567sudo apt updatesudo apt install nginx# 启动 nginxsudo systemctl start nginx# 设置自启sudo systemctl enable nginx Debian 11 安装最新...
Jpa 持久层中使用自定义对象接收数据
在 JPA 持久层中,可以自定义接收数据的对象。这通常用于查询操作,其中查询结果不完全匹配现有的实体类,或者需要仅返回某些字段的结果。以下示例,展示如何在 JPA 持久层中自定义接收数据的对象 假设有一个名为 Person 的实体类,包含 id、name 和 age 字段: 1234567891011121314@Entity@Table(name = "person")public class Person { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; private int age; // 省略构造函数、getter 和 setter 方法} 现在我们只想查询人员的姓名和年龄,并将结果封装到自定义的数据对象 PersonInfo 中: 12345678public class PersonInfo { pri...
debian11 系统增加开机自启脚本
在 debian11 系统增加开机自启脚本时发现 /etc 目录里面没有 rc.local 文件,导致无法添加自启动脚本,这里记录下 debian11 增加开机自启脚本的全过程。 修改 rc-local.service 文件1cd /lib/systemd/system 添加下面内容到 rc-local.service 文件最后 12[Install] WantedBy=multi-user.target 创建 /etc/rc.local 文件创建 /etc/rc.local 文件,并写入下面内容 1234#!/bin/sh -e# 在这里输入需要自启的脚本exit 0 创建完成后需要给其赋予运行权限 1sudo chmod +x /etc/rc.local 启动 rc-local 服务即可 123sudo systemctl enable rc-local # 启用sudo systemctl start rc-local.service # 开始运行sudo systemctl status rc-local.se...
使用 qshell 工具上传文件夹到七牛云
qshell 是利用七牛文档上公开的API实现的一个方便开发者测试和使用七牛API服务的命令行工具。下载地址: 直达 ,根据自己系统平台下载即可。 使用教程下载后,随意放到哪都行。 1、赋予qshell执行权限我这里是Linux系统,默认放到了 /root 目录,进入 /root 目录后赋予 qshell 执行权限 1chmod +x qshell 2、配置七牛云账户需要鉴权的命令都需要依赖七牛账号下的 AccessKey 和 SecretKey, 点我直达 ,拿到 AccessKey 和 SecretKey 输入下面的命令 1./qshell account ak sk name 此处操作后在当前用户主目录中生成 qshell 目录: 12ls ~/.qshell/account.json 3、上传同步文件夹1./qshell qupload2 --src-dir=需要上传的文件夹 --bucket=对象存储桶的名称 更多使用方式:https://developer.qiniu.com/kodo/1302/qshell
Java 给 OkHttpClient 添加 Socks 代理
OkHttpClient 我使用的并不多,这里记录下怎么给 OkHttpClient 添加代理,首先还是添加 OkHttpClient 依赖 12345<dependency> <groupId>com.squareup.okhttp3</groupId> <artifactId>okhttp</artifactId> <version>3.10.0</version></dependency> API接入123456789101112131415161718192021222324252627282930313233343536373839package demo;import okhttp3.OkHttpClient;import okhttp3.Request;import java.io.IOException;import java.net.InetSocketAddress;import java.net.Proxy;class ApiProxyJava ...
Docker容器 - 数据打包迁移全过程记录
记录下Docker容器打包迁移的一些命令: 12345678910# 确认要迁移容器的名称docker ps -a# 打包容器为新的镜像docker commit 容器名 镜像名# 把镜像保存为tar文件 docker save 镜像名 >文件名称.tar# 将文件传输到另一台服务器,用SCP命令scp -P 22 /文件路径/文件名称.tar root@接收文件的服务器的IP:/存放文件的目录# 恢复镜像docker load < 文件名称.tar 恢复镜像后,用同样的方法创建容器即可。
Java 开发之 BigDecimal 用法细节详解
一、BigDecimal 概述 Java 在 java.math 包中提供的 API 类 BigDecimal,用来对超过 16 位有效位的数进行精确的运算。双精度浮点型变量 double 可以处理 16 位有效数,但在实际应用中,可能需要对更大或者更小的数进行运算和处理。一般情况下,对于那些不需要准确计算精度的数字,我们可以直接使用 Float 和 Double 处理,但是 Double.valueOf(String) 和 Float.valueOf(String) 会丢失精度。所以开发中,如果我们需要精确计算的结果,则必须使用 BigDecimal 类来操作。 BigDecimal所创建的是对象,故我们不能使用传统的 +、-、*、/ 等算术运算符直接对其对象进行数学运算,而必须调用其相对应的方法。方法中的参数也必须是 BigDecimal 的对象。构造器是类的特殊方法,专门用来创建对象,特别是带有参数的对象。 二、BigDecimal 常用构造函数2.1、常用构造函数1234567891011// 创建一个具有参数所指定整数值的对象BigDecimal(int)// 创建...
记 Docker 运行 Logstash out of memory 问题
最近在 Docker 容器上搭建 Zookeeper+Kafka+Logstash+Elasticsearch+Kibana 日志分析系统,在运行 Logstash 和 Elasticsearch 时遇到了如下错误: 12library initialization failed - unable to allocate file descriptor table - out of memorylibraryinitialization failed - unable to allocate file descriptor table - out of memory 在这里记录下解决方案。 解决方案通过重写 Docker 的 ExecStart 的参数解决 1sudo systemctl edit docker 进入后,添加或者修改对应参数 123[Service]ExecStart=ExecStart=/usr/bin/dockerd --default-ulimit nofile=65536:65536 -H fd:// 最后重启 Docker 12sudo syst...