Docker的网络代理配置

因为网络原因拉取docker官方镜像经常失败或者速度非常慢,可以考虑通过代理服务器拉取镜像。 配置加速器 vim /etc/docker/daemon.json { "registry-mirrors": [ "https://hub-mirror.c.163.com", "https://mirror.baidubce.com" ] } 注意,一定要保证该文件符合 json 规范,否则 Docker 将不能启动。 之后重新启动服务 sudo systemctl daemon-reload sudo systemctl restart docker docker pull代理 在执行docker pull时,是由守护进程dockerd来执行。 因此,代理需要配在dockerd的环境中。 而这个环境,则是受systemd所管控,因此实际是systemd的配置 mkdir -p /etc/systemd/system/docker.service.d vim /etc/systemd/system/docker.service.d/proxy.conf 在这个proxy.conf文件(可以是任意*.conf的形式)中,添加以下内容: [Service] Environment="HTTP_PROXY=http://192.168.112.57:7890" Environment="HTTPS_PROXY=http://192.168.112.57:7890" Environment="NO_PROXY=localhost,127.0.0.1" 之后重新启动服务 systemctl daemon-reload systemctl restart docker Container代理 用户级代理 vim ~/.docker/config.json { "proxies": { "default": { "httpProxy": "http://192.168.112.57:7890", "httpsProxy": "http://192.168.112.57:7890", "noProxy": "localhost,127.0.0.1" } } } 这种方法默认在所有配置修改后启动的容器生效 容器级代理 容器的网络代理,也可以直接在其运行时通过-e注入http_proxy等环境变量。docker-compose的是要配置environment 格式如下: web: environment: HTTP_PROXY: 'http://192.168.112.57:7890' HTTPS_PROXY: 'http://192.168.112.57:7890' NO_PROXY: 'localhost,127.0.0.1' docker build代理 虽然docker build的本质,也是启动一个容器,但是环境会略有不同,用户级配置无效。 在构建时,需要注入http_proxy等参数 ...

十月 6, 2024 · 1 分钟 · 97 字 · Byter ·  Docker

2024-09 跑步日记

2024-09 运动次数: 14 运动距离: 145.18 km 运动时长: 14:04:05 平均距离: 10.37 km 平均心率: 146 bpm 平均配速: 5:48 / km 2024-09-01 时间: 2024-09-01 07:17:45 距离: 10.04 km 时长: 1:00:00 配速: 5:58 / km 心率: 149 bpm ...

九月 29, 2024 · 2 分钟 · 242 字 · Jogger ·  跑步

Hugo集成ECharts支持鼠标点击链接

先看看效果展示,实现鼠标点击提示框链接进入跑步详情页面,整体效果 跑步总结。 为了实现提示框可以点击,来回折腾浪费了很长时间,记录下来以备不时之需。 在ECharts的示例编辑里的tooltip配置项内容: "tooltip": { "triggerOn": "click", "enterable": true, "formatter":function (params) { if (params.value[1] <= 3) { return ''; } else { return ( '<a href="/posts/run/' + params.value[2] + '/" target="_blank\">' + params.value[0].slice(-5) + '</a> <br>' + Number(params.value[1]).toFixed(2) + 'km ' ); } } } Hugo编译时报如下错误: Error: error building site: "xx/content/posts/run/run_stats.md:135:1": "xx/layouts/_default/_markup/render-codeblock-echarts.html:6:37": execute of template failed: template: _default/_markup/render-codeblock-echarts.html:6:37: executing "_default/_markup/render-codeblock-echarts.html" at <transform.Unmarshal>: error calling Unmarshal: "_stream.json:5:1": unmarshal failed: invalid character 'u' in literal false (expecting 'a') Hugo编译时会使用transform.Unmarshal校验json内容,formmater的参数内容不符合规范内容。 ...

九月 15, 2024 · 2 分钟 · 263 字 · Byter ·  ECharts ·  Hugo

ECharts 通过组件 visualMap 指定渲染数据某一维度

先看看效果展示,将原来markdown的表格样式展示修改为热力图展示,整体效果 跑步总结。 最初我的需求是,将一年的跑步数据能够像github的提交贡献图进行展示。 日历可以使用ECharts的日历热力图 安装跑步距离显示为不同颜色,与示例的颜色渐变有所区别 可以通过跑步数据进入跑步详情页面 下来说一下我碰到的几个问题。 热力图支持 由于原来使用的是echarts在线定制模式下载的js文件,进入ECharts在线定制 。 图表中增加选择热力图Heatmap 坐标系增加选择日历Calendar 组件增加选择视觉映射VisualMap 颜色分段显示 "visualMap": { "show": false, "type": "piecewise", "pieces": [ { "gte": 15, "color": "#E49A52" }, { "gte": 10, "lt": 15, "color": "#83C67B" }, { "gte": 3, "lt": 10, "color": "#6B9CF0" }, { "lt": 3, "color": "transparent" } ] } type参数设置为piecewise,分段型视觉映射组件 pieces参数可以使用 lt(小于,less than),gt(大于,greater than),lte(小于等于 less than or equals),gte(大于等于,greater than or equals)来表达边界 按照指定维度渲染图形 在ECharts在线示例编辑器中,测试没有问题,后面程序自动生成了结果集,结果集示例如下: ...

2024-08 跑步日记

2024-08 运动次数: 12 运动距离: 109.93 km 运动时长: 11:02:18 平均距离: 9.16 km 平均心率: 151 bpm 平均配速: 6:01 / km 2024-08-01 时间: 2024-08-01 07:38:34 距离: 7.05 km 时长: 44:15 配速: 6:16 / km 心率: 143 bpm ...

八月 30, 2024 · 1 分钟 · 210 字 · Jogger ·  跑步

跑步记录自动生成Markdown发布博文

通过yihong0618大佬的running_page实现跑步记录自动生成博文,自动发布的工作核心如下图所示。 graph TB subgraph APP [APP Type] direction LR Garmin ~~~ Nike Nike ~~~ Keep end subgraph run [running_page] direction LR laps_drawer --> running_page running_page --> id1[(data.db)] end APP --> running_page id1[(data.db)] -->|gen_svg gen_md|obsidian obsidian --> |maestral|Hugo 首先简单介绍一下yihong0618大佬的running_page功能,支持Nike、Strava、佳明(佳明中国)及 Keep 等自动备份 GPX 数据,生产静态的网页数据,打造个人跑步主页。它是这样工作。 接下来介绍我是怎么使用,我平时是使用Garmin(佳明)手表,数据会通过APP上传到佳明中国。使用步骤如下: 通过running_page使用Garmin-CN to Garmin功能实现数据同步到本地,还实现了一个很棒的功能将数据同步到佳明全球。这个时候你可以通过在Strava里配置,实现将佳明全球的数据同步到你的Strava账号下。 python3 run_page/garmin_sync_cn_global.py $garmin_cn_secret $garmin_secret 生成跑步路线svg和对应的md文件,示例20240317(21.12 km),参考running_page的功能,自己编写的一个生成跑步路线的laps_drawer(示例代码),通过调用gen_svg(示例代码)实现跑步路线的svg文件,然后再统计了一些跑步的统计信息,生产跑步记录md文件。 # gen_svg.py 文件放到running_page工程下的run_page目录,参数参考说明,程序会自动将生成到$blog_path下,需要看代码修改一些相对位置 # laps_drawer.py 文件放到running_page工程下的run_page/gpxtrackposter目录 python3 run_page/gen_svg.py --from-db --title "Running Maps" --type laps --athlete $athlete --track-color "#6B9CF0" --special-color "#83C67B" --special-color2 "#E49A52" --special-distance 10 --special-distance2 15 --min-distance 0.5 --use-localtime --only-run --background-color "#1A1A1A" --animation-time 20 --no-background --blog-dir $blog_path 生成跑步总结统计数据,示例跑步总结,参考running_page的功能,提取跑步信息,结合EChart生成跑量和趋势图。这里也是自己编写的一个python程序gen_md(示例代码)。 # gen_md.py 文件放到running_page工程下的run_page目录,参数参考说明,程序会自动将生成到$blog_path下,需要看代码修改一些相对位置 python3 run_page/gen_md.py --from-db --use-localtime --only-run --min-distance 0.5 --track-color "#6B9CF0" --special-color "#83C67B" --special-color2 "#E49A52" --blog-dir $blog_path Obsidian可以查看生成的md文件,根据文件的位置再调整python程序的相对路径。 通过maestral将新生成的文件自动同步到服务器,然后Hugo编译发布成静态页面。

八月 17, 2024 · 1 分钟 · 110 字 · Byter ·  Garmin ·  Run

2024-07 跑步日记

2024-07 运动次数: 15 运动距离: 136.90 km 运动时长: 13:35:35 平均距离: 9.13 km 平均心率: 149 bpm 平均配速: 5:57 / km 2024-07-01 时间: 2024-07-01 06:59:02 距离: 4.55 km 时长: 27:58 配速: 6:09 / km 心率: 134 bpm ...

七月 28, 2024 · 2 分钟 · 258 字 · Jogger ·  跑步

MacOS好用软件推荐

1. IINA https://iina.io/ IINA(/ˈiːnə/)是一款基于mpv的自由及开源媒体播放器,以GNU通用公共许可证版本3(GPLv3)发布,用Swift编写,仅支持macOS平台。 Mac 上最万能的视频播放器,是一款非常轻量级的视频播放器。 2. Obsidian https://obsidian.md/ Obsidian,是使用Markdown语法的闭源笔记软件。用户可以在笔记间建立双向链接,并且可以神经网络图的形式将这些链接可视化。该笔记旨在帮助用户以一种灵活的、非线性的方式来组织和构架他们的想法和知识。Obsidian对个人使用免费,对商业许可则需付费。 现在的笔记都迁移到Obsidian了,太爱了,有很多插件可以用。 3. TextMate https://macromates.com/ TextMate是一个由Allan Odgaard开发的macOS系统下的GUI文本编辑器,提供声明式定制、打开多文档、可记录宏、可折叠文字片段和可扩展Bundle等功能。 平时随手记些文字,后期整理到Obsidian,对文件类型支持比较多 4. Raycast https://www.raycast.com/ 功能强大的生产力工具集合在一个可扩展的启动器中。快速、人性化、可靠。 替换了原来的Alfred,插件丰富,还可以支持自己写脚本 5. Easydict https://github.com/tisfeng/Easydict Easydict 是一个简洁易用的词典翻译 macOS App,能够轻松优雅地查找单词或翻译文本。Easydict 开箱即用,能自动识别输入文本语言,支持输入翻译,划词翻译和 OCR 截图翻译,可同时查询多个翻译服务结果,目前支持 有道词典,🍎 苹果系统词典,🍎 苹果系统翻译,OpenAI,Gemini,DeepL,Google,腾讯,Bing,百度,小牛翻译,彩云小译,阿里翻译 和 火山翻译。 结合ChatGPT实用划词翻译的功能太棒了 6. 沉浸式翻译 https://immersivetranslate.com/ 沉浸式翻译:全网口碑炸裂的双语对照网页翻译插件 你可以完全免费地使用它来实时翻译外语网页,PDF翻译,EPUB电子书翻译,视频双语字幕翻译等。 还可以自由选择调用OpenAI (ChatGPT)、DeepL、Gemini等人工智能引擎来翻译上述内容。 在手机上也可以随时随地用哦,真正帮助你打破信息壁垒,选择下方的平台,立刻开始体验:)

七月 27, 2024 · 1 分钟 · 46 字 · Byter ·  MacOS

2024-06 跑步日记

2024-06 运动次数: 15 运动距离: 166.24 km 运动时长: 16:21:46 平均距离: 11.08 km 平均心率: 155 bpm 平均配速: 5:54 / km 2024-06-01 时间: 2024-06-01 06:47:29 距离: 15.15 km 时长: 1:34:10 配速: 6:12 / km 心率: 151 bpm ...

六月 29, 2024 · 2 分钟 · 258 字 · Jogger ·  跑步

如何体验 Chrome 内置 Gemini Nano 大模型?

最近谷歌在Canary 版本的 Chrome 浏览器里面开放了本地大模型的权限,用户可以访问(https://www.chromium.org/getting-involved/dev-channel/),下载 Canary 浏览器。 用法如下: 打开 chrome://flags/ 将 Prompt API for Gemini Nano 设置为 Enable 将 Enables optimization guide on device 设置为 Enable BypassPerfR 重启 Chrome 浏览器 打开 chrome://components/ 检查是否出现 Optimization Guide On Device Model ,我出现这个选项等了有几天,没有找到好的方法。如果有这个选项,可以检查模型是否成功下载,点击 Check for update ,我目前的版本是Version: 2024.6.5.2205 。 Gemini Nano的模型文件存放在~/Library/Application Support/Google/Chrome Canary/OptGuideOnDeviceModel/2024.6.5.2205 目录下,weights.bin 文件大概1.78GB。 测试AI效果 打开控制台,输入 window.ai 测试是否能有返回AI对象,也可以用下面的代码测试: const canCreate = await window.ai.canCreateGenericSession() if (canCreate !== "no") { const session = await window.ai.createTextSession(); const stream = session.promptStreaming("写一个短篇科幻小说!") for await (const chunk of stream) { console.log(chunk) } session.destroy() } else { console.error("Gemini Nano not ready yet.", canCreate) } 刚刚返回的结果: ...

六月 23, 2024 · 1 分钟 · 113 字 · Byter ·  AI