zzlyzq 最近的时间轴更新
zzlyzq

zzlyzq

V2EX 第 52362 号会员,加入于 2013-12-21 22:01:31 +08:00
开发手机 APP 给支付宝引流
分享发现  •  zzlyzq  •  2 天前  •  最后回复来自 Zorro825
3
搭建运维用 harbor,镜像接龙,方便运维
分享发现  •  zzlyzq  •  28 天前  •  最后回复来自 zzlyzq
22
你们的家用无线路由器用了几年故障了
路由器  •  zzlyzq  •  31 天前  •  最后回复来自 chqome
39
docker Java mysql,返回的时间差 8 小时
Docker  •  zzlyzq  •  33 天前  •  最后回复来自 zzlyzq
10
大家用什么 gui 连接 mongodb2.6.11
问与答  •  zzlyzq  •  34 天前  •  最后回复来自 zzlyzq
8
百度高德地图 API 开始收费了还不低
问与答  •  zzlyzq  •  36 天前  •  最后回复来自 zzlyzq
13
域名在国外无法正常解析
问与答  •  zzlyzq  •  46 天前  •  最后回复来自 zzlyzq
5
坐标:济宁 云计算中心工程师一枚
酷工作  •  zzlyzq  •  2018-03-12 21:52:26 PM  •  最后回复来自 zzlyzq
12
如何避免微软的反盗版
 •  zzlyzq  •  2017-12-21 12:47:13 PM  •  最后回复来自 suduo1987
36
zzlyzq 最近回复了
2 天前
回复了 zzlyzq 创建的主题 分享发现 开发手机 APP 给支付宝引流
@puzzle9 对,他们群体大概有几十万。也有可能是跟支付宝做了定制引流业务。
28 天前
回复了 zzlyzq 创建的主题 分享发现 搭建运维用 harbor,镜像接龙,方便运维
@Clannad0708 我这个仓库里面只有常用的,不是所有的,所以需要大家接龙所需镜像名称,需要哪些我就同步,方便伙计们一块使用。
28 天前
回复了 zzlyzq 创建的主题 分享发现 搭建运维用 harbor,镜像接龙,方便运维
@Clannad0708 参考其他兄弟发的链接,长期使用私有镜像配置如下:
# 编辑文件/etc/containerd/config.toml
[plugins."io.containerd.grpc.v1.cri".registry]
[plugins."io.containerd.grpc.v1.cri".registry.mirrors]
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]
endpoint = ["https://registry-1.docker.io"] //到此为配置文件默认生成,之后为需要添加的内容
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."harbor.op123.ren"]
endpoint = ["https://harbor.op123.ren:44301"]
[plugins."io.containerd.grpc.v1.cri".registry.configs]
[plugins."io.containerd.grpc.v1.cri".registry.configs."harbor.op123.ren".tls]
insecure_skip_verify = true

# 重启 containerd 服务
systemctl daemon-reload
systemctl restart containerd
systemctl status containerd

# 测试
28 天前
回复了 zzlyzq 创建的主题 分享发现 搭建运维用 harbor,镜像接龙,方便运维
@Clannad0708 仓库应该还是一样的仓库?
31 天前
回复了 zzlyzq 创建的主题 分享发现 搭建运维用 harbor,镜像接龙,方便运维
@Clannad0708 是的。这个是国内站点,带宽 100Mbps+。在某些情况下,就算不修改 daemon.json 也可以直接将镜像地址写到 docker-compose 中,或者 k8s 的 yaml 文件中,提高使用效率。目前,我已经使用了半年了,所以发出来与大家分享。
31 天前
回复了 zzlyzq 创建的主题 分享发现 搭建运维用 harbor,镜像接龙,方便运维
eh 兄弟们,我搭建这个不是为了分享脚本,而是分享镜像站点,供运维或者相关的兄弟可以及时或者偶尔用到的时候下载到想用的镜像。
31 天前
回复了 zzlyzq 创建的主题 分享发现 搭建运维用 harbor,镜像接龙,方便运维
@Niphor harbor 可以存不同架构的镜像。之前写脚本同步了常用的镜像大概 1TB ,感觉成本太高,所以废弃了这种方案。用啥存啥,没有再下。

这个脚本本质上是在小鸡上 docker pull 进行的下载,所以不能指定版本。
31 天前
回复了 zzlyzq 创建的主题 分享发现 搭建运维用 harbor,镜像接龙,方便运维
@Niphor

这个脚本我命名为 dockerpullandpush.py ,部署在 hk 的小鸡上,通过输入参数镜像名称,实现从 dockerhub 拉取,并 push 到国内的 harbor 站点。如果 harbor 站点没有对应的 repository ,也会自动创建。以下脚本修改了 dockerhubu 和自建 harbor 的密码,改成自己的就可以用了。

#!/usr/bin/python3
import docker
import argparse
import subprocess
import json

def pull_and_push_image(image_name, docker_username, docker_password, harbor_url, harbor_username, harbor_password):
# 从 image_name 中提取 harbor_project
if '/' in image_name:
harbor_project = image_name.split('/')[0]
image_name_without_project = '/'.join(image_name.split('/')[1:])
else:
harbor_project = 'library'
image_name_without_project = image_name

# 创建 Docker 客户端
client = docker.from_env()

# 登录 Docker Hub
client.login(username=docker_username, password=docker_password)

# 拉取镜像
print(f"Pulling image {image_name} from Docker Hub...")
image = client.images.pull(image_name)

# 标记镜像
harbor_image_name = f"{harbor_url}/{harbor_project}/{image_name_without_project}"
image.tag(harbor_image_name)

# 登录 Harbor
client.login(username=harbor_username, password=harbor_password, registry=harbor_url)

# 检查项目是否存在
project_exists_cmd = f"curl -s -u {harbor_username}:{harbor_password} -X GET https://{harbor_url}/api/v2.0/projects?name={harbor_project}"
project_exists_output = subprocess.check_output(project_exists_cmd, shell=True)
project_exists_data = json.loads(project_exists_output)

if len(project_exists_data) == 0:
# 如果项目不存在,则创建项目
print(f"Project {harbor_project} does not exist in Harbor. Creating...")
create_project_cmd = f"curl -s -u {harbor_username}:{harbor_password} -X POST -H \"Content-Type: application/json\" -d '{{\"project_name\": \"{harbor_project}\", \"public\": true}}' https://{harbor_url}/api/v2.0/projects"
subprocess.check_output(create_project_cmd, shell=True)
print(f"Project {harbor_project} created successfully.")

# 推送镜像到 Harbor
print(f"Pushing image {harbor_image_name} to Harbor...")
client.images.push(harbor_image_name)

print("Image pulled and pushed successfully.")

# 清理下载的容器镜像
print(f"Cleaning up downloaded image {image_name}...")
client.images.remove(image_name)
client.images.remove(harbor_image_name)

print("Cleanup completed.")

if __name__ == "__main__":
parser = argparse.ArgumentParser(description="Pull images from Docker Hub and push them to Harbor.")
parser.add_argument("image_names", nargs='+', help="Names of the images to pull and push")
parser.add_argument("--docker-username", default="[email protected]", help="Docker Hub username")
parser.add_argument("--docker-password", default="xxx", help="Docker Hub password")
parser.add_argument("--harbor-url", default="harbor.op123.ren:44301", help="Harbor URL")
parser.add_argument("--harbor-username", default="admin", help="Harbor username")
parser.add_argument("--harbor-password", default="xxx", help="Harbor password")

args = parser.parse_args()

for image_name in args.image_names:
print(f"\nProcessing image: {image_name}")
pull_and_push_image(image_name, args.docker_username, args.docker_password,
args.harbor_url, args.harbor_username, args.harbor_password)
硬盘可能有故障,而非文件系统问题。
31 天前
回复了 zzlyzq 创建的主题 路由器 你们的家用无线路由器用了几年故障了
@echo1937 我有一个 tplink 703n ,确实用了几年也坏了。小东西可能坏的概率大些。
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   940 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 20ms · UTC 19:30 · PVG 03:30 · LAX 12:30 · JFK 15:30
Developed with CodeLauncher
♥ Do have faith in what you're doing.