Docker更换默认目录

查询目前已安装的路径 sudo docker info | grep "Docker Root Dir" 备份旧数据到新目录 cp -a /var/lib/docker /path/to/docker 修改配置文件 docker 版本 > 17.05 vim /etc/docker/daemon.json 1 2 3 4 { "data-root": "/path/to/docker", "storage-driver": "overlay2" # 这个是Docker的默认设置,这里也可以不用加 } 重启docker sudo systemctl restart docker 参考 两种方式迁移Docker

创建: 2023-06-11 | 更新: 2024-09-28 | 字数: 40字 | 时长: 1分钟 | 作者:张三

个人理财工具-Firefly Iii安装

⚠️:你必须准备 域名:国内可能需要备案 服务器:Linux ‼️‼️‼️新买的服务器一定要做一些安全的防护具体可参考 保护您的服务器 日期: 2023-06-04   标签: #安全  #服务器  执行系统更新 经常更新您的系统是您可以对任何操作系统采取的最大的安全预防措施。软件更新的范围从关键漏洞补丁到小错误修复,许多软件漏洞在公开时实际上已经被修补。更新还为您提供了可用于您的分发的最新软件版本。 Ubuntu、Debian 和 Kali Linux 1 apt update && apt upgrade CentOS/RHEL Stream 和 Fedora 包括 CentOS Stream 8(及更高版本)、CentOS 8、其他 RHEL 衍生产品(包括 AlmaLinux 8 和 Rocky Linux 8)和 Fedora 1 dnf upgrade 设置时区 默认情况下,所有新的计算实例都设置为 UTC 时间。但是,您可能更喜欢使用您居住的时区,因此日志文件时间戳是相对于您当地时间的。 大多数发行版 包括 CentOS Stream 8(及更新版本)、CentOS 7(及更新版本)、其他 RHEL 衍生产品(包括 AlmaLinux 8 和 Rocky Linux 8)、Fedora 和 Arch。这些说明也适用于大多数 Ubuntu、Debian 和 openSUSE 发行版,但在这些情况下可能首选其他方法。 使用 timedatectl 输出可用时区列表 1 timedatectl list-timezones 使用箭头键、 Page Up 和 Page Down 浏览列表。复制或记下您想要的时区,然后按 q 退出列表。 使用以下命令设置时区,将 America/New_York 替换为您喜欢的时区。 1 timedatectl set-timezone 'America/New_York' Ubuntu, Debian 和 Kali Linux Ubuntu 和 Debian 都带有一个更友好的工具,称为 tzdata 打开 tzdata 工具 1 dpkg-reconfigure tzdata 使用箭头键选择您选择的大陆,然后按 Enter 使用箭头键选择您所在的地区,然后按 Enter 检查时间 使用 date 命令根据您的服务器查看当前日期和时间 1 2 root@localhost:~# date Thu Feb 16 12:17:52 EST 2018 使用NTP服务同步 纯净装机的服务会没有NTP服务同步,时间不同步,导致很多加密应用出现错误 这里用chrony同步时间 1 2 3 4 5 6 7 #安装 sudo apt update sudo apt install chrony #启用 sudo systemctl start chrony #查看状态 sudo systemctl status chrony 添加NTP服务器 sudo nano /etc/chrony/chrony....

创建: 2023-05-28 | 更新: 2024-09-28 | 字数: 1058字 | 时长: 5分钟 | 作者:张三

搭建 MinIO 高性能对象存储

MinIO 是一个基于 Apache License v2.0 开源协议的对象存储服务。它兼容亚马逊 S3 云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几 kb 到最大 5T 不等。 前段时间搭建播客的时候想找个存储文件的服务,无奈国内没免费的,国外延迟又高,就想起了自己搭建一个对象存储服务,然后就了解了MinIO,搭建很简单,直接docker部署 放一个中文的教程Minio - Docker — 从入门到实践 ,方便后面来翻阅 MinIO Object Storage for Container — MinIO Object Storage for Container

创建: 2023-03-14 | 更新: 2024-09-28 | 字数: 30字 | 时长: 1分钟 | 作者:张三

低成本搭建高质量播客发布服务

引言:最近用了iPhone手机,听Apple music的时候,有些喜欢的歌曲并没有,想下载到本地但由于iOS的生态封闭,操作太麻烦; 在寻找解决方案时发现用自建播客来实现下载音乐方案可行,于是就有了下面的教程 What 播客(podcast)创作者将音频或视频上传至RSS 或在线播客平台,听众或观众则通过软件 获取节目更新。 How 制作过程不说了,来谈谈发布过程,很简单,一个支持RSS的网站发布音频信息供用户拉取,一个音频托管平台存放音频 网站直接Hugo搭建,用zen主题支持podcast,放在GitHub page上,域名可以在freedom上注册,用cloudflare DNS解析和加速 hugo 搭建播客 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 #新建网站 hugo new site podcast #安装 zen主题 git clone https://github.com/frjo/hugo-theme-zen.git themes/zen #在content内新建podcast文件夹,此页面内新增音频 cd content mkdir podcast #podcast的一些设置 #设置的图片,需要现在根目录新建 assets/images 目录,取相对路径即可 #podcast 音频下面显示链接,如何取消 vim layouts/partials/podcast.html #注释掉下面行 <figcaption><a href="{{ $src }}">{{ .Title }}</a></figcaption> podcast 配置 1 2 3 4 #文章顶部新增参数 podcast: mp3: duration: 音频托管平台自建minin服务存储音频 minio服务很强大,感兴趣可以了解一下 docker 部署 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 version: '3.3' services: minio: image: quay.io/minio/minio container_name: minio1 ports: - 9090:9090 #控制台端口 - 9000:9000 #API端口 volumes: - './data:/data' - './config:/root/.minio' environment: MINIO_ROOT_USER: admin #管理用户名 MINIO_ROOT_PASSWORD: admin #管理密码 command: server /data --console-address ':9090' restart: always 部署成功,ip:9090访问登录 控制台操作 1、创建存储桶 create bucket 2、点击manage,Access Rules add rule prefix:*.* access:readonly 3、上传音频 4、分享文件,链接地址 复制出来,前面ip换成外部ip即可 把地址贴在上面podcast 参数 mp3 的地方 enjoy 这样算下来,除了用了一台服务器外,其他全部费用为零,总费用百元不到 部署全部完成,点击RSS链接放到订阅的地方,尽情享用吧!🎉 参考: Zen | Hugo Themes GitHub - frjo/hugo-theme-zen: A fast and clean Hugo base theme with css-grid and Hugo pipes support....

创建: 2022-07-12 | 更新: 2024-09-28 | 字数: 188字 | 时长: 1分钟 | 作者:张三

Docker 部署 Snapdrop

Snapdrop 是一个开源的在线文件传输工具,可以在 Windows、Mac、Linux、iOS、Android 任何平台使用,只要我们的设备有浏览器就能用他来传输文件 官网有demo,but不稳定,自部署一套稳定可靠可控 官方已经上传image 了,所以下面手动下载的可以不用看了 1 2 3 4 5 6 7 8 9 version: "3" services: node: image: linuxserver/snapdrop # user: "node" container_name: snapdrop restart: always ports: - 80:80 1 2 3 4 5 6 7 8 9 10 11 12 13 14 #git clone 下载 git clone https://github.com/RobinLinus/snapdrop.git cd snapdrop #国内服务需换源 cd docker vim nginx-with-openssl.Dockerfile #RUN apk add --no-cache openssl 上方添加命令 RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories #保存 启动 docker-compose up -d 常见问题: 1、启动后日志里报 1 2 3 4 5 6 7 npm ERR! Error: EACCES: permission denied, access '/home/node/app' npm ERR! { Error: EACCES: permission denied, access '/home/node/app' npm ERR! stack: 'Error: EACCES: permission denied, access \'/home/node/app\'', npm ERR! errno: -13, npm ERR! code: 'EACCES', npm ERR! syscall: 'access', npm ERR! path: '/home/node/app' } 权限 user的坑,我默认是root用户,yml里node启动为node用户,导致权限过低,启动失败 此时只需要把docker-compose.yml 里的user: “node” 注释即可 1 2 vim docker-compose #user: "node”

创建: 2022-06-19 | 更新: 2024-09-28 | 字数: 139字 | 时长: 1分钟 | 作者:张三

【躺赚】docker部署网心云容器魔方

设备:N1 硬盘:400g ssd 已安装服务:docker、docker-compose 开干! 一、挂载ssd(挂载过直接跳到第二步) 硬盘插到N1上 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 lsblk #查看当前磁盘情况 fdisk -l #查看当前未挂载的磁盘 #假设磁盘名为 dev/sda #创建分区 fdisk dev/sda #输入n, p, 1, 两次回车,wq #新建一个主分区,大小整个磁盘,保存写入 #写入文件格式 mkfs.ext4 /dev/sda #ext4格式 #挂载 mount /dev/sda /media/data #查看文件 df -lh #查看到刚才挂载的硬盘 #设置开机自动挂载 vim /etc/fstab # 在最后新增一行 /dev/sdb /media/data ext4 defaults 0 0 二、部署 1 2 3 mkdir wxedge cd wxedge vim docker-compose.yml 1 2 3 4 5 6 7 8 9 10 11 12 13 version: '3.3' services: wxedge: container_name: wxedge restart: always privileged: true network_mode: host tmpfs: - /run - /tmp volumes: - '/media/data/wxedge:/storage:rw' image: onething1/wxedge ip:18888 打开 成功🎉🎉🎉 躺着赚钱吧!

创建: 2022-05-09 | 更新: 2024-09-28 | 字数: 117字 | 时长: 1分钟 | 作者:张三

Docker 部署 Nginx服务

用docker部署nginx官方只给了docker版本的,没有compose的,只好自己转换一下了,记录一下,方便下次部署,这只是简单的部署,至于nginx配置的话,有空再补吧🫠 1、创建docker-nginx目录 新建 docker-compose.yml 文件 1 2 3 4 5 mkdir docker-nginx mkdir nginx mkdir log mkdir html vim docker-compose.yml 2、docker-compose.yml 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 version: '3.3' services: web: image: nginx:latest container_name: nginx volumes: - ./nginx:/etc/nginx - ./log:/var/log/nginx - ./html:/usr/share/nginx/html //网站放置目录 ports: - "8081:80" environment: - NGINX_HOST="192.168.116.10" //访问地址/域名 - NGINX_PORT="80" //访问端口 - TZ="Asia/Shanghai" //时区 restart: always 3、手动cp配置文件 由于官方image没有默认映射外部文件,需要手动把配置文件cp出来 1 2 3 4 5 6 7 8 9 # 运行官方命令创建默认容器 docker run --name nginx -p 8080:80 -d nginx #配置文件复制到nginx里,其他文件可用复制 #是个坑,路径必须是全路径 docker cp nginx:/etc/nginx /opt/docker-nginx #删除默认容器 docker stop nginx && docker rm nginx 4、修改nginx配置文件 端口号、域名,ssl等和以前配置一样,不再赘述 5、运行&测试 1 2 3 4 5 6 docker-compose up -d #查看日志 docker-compose logs -f #浏览器输入IP或域名查看是否可以访问 参考文档: 1、Docker Hub-nginx

创建: 2022-04-08 | 更新: 2024-09-28 | 字数: 123字 | 时长: 1分钟 | 作者:张三

打破信息茧房

何为信息茧房: 哈佛大学凯斯·桑斯坦教授在《信息乌托邦》一书中提出,人类社会存在一种“信息茧房”现象。他认为,在信息传播中人们自身的信息需求并非全方位的,只会注意选择想要的或能使自己愉悦的信息,久而久之接触的信息就越来越局限,越来越窄,就像蚕吐出来的丝一样,细细密密地把自己包裹起来,最终像一个蚕宝宝一样被桎梏在“信息茧房”内,失去对其他不同事物的了解能力和接触机会。当时,他的这一观点还只是作为一种推论和预测,但随着网络信息和人工智能技术的飞速发展,这种“信息茧房”现象,正越来越多地发生在现实生活中和我们的身边。 说人话就是: 在现如今的生活中,人们接受信息的来源(主要指生活在大陆,国外也差不多),主要从微信、微博、抖音、快手等中心化的平台,各家相互关闭自己的开放接口,强迫用户留在自己平台上,有时候只关注某个大V的信息,却不得不安装一个app,就这样手机上装了很多app(这些app们平均一周更新一次,要吐了)再加上平台的推荐算法,只推荐你喜欢的(兼听则明,偏信则暗),这样下去,整个人的认知无法被提高 经过一段时间的探索,搭建了RSS这套服务,RSS服务属于古老服务了,估计只有数字原住民才听说过,目前来说还可以,正在慢慢过渡,在此记录下搭建过程,方便下次迁移 RSS(英文全称:RDF Site Summary 或 Really Simple Syndication[2] ),中文译作简易信息聚合[3] ,也称聚合内容[4] ,是一种消息来源 格式规范,用以聚合多个网站更新的内容并自动通知网站订阅者。使用 RSS 后,网站订阅者便无需再手动查看网站是否有新的内容,同时 RSS 可将多个网站更新的内容进行整合,以摘要的形式呈现,有助于订阅者快速获取重要信息,并选择性地点阅查看。 ——引用wikipedia 准备: 需要一台服务器,运行linux即可 配置不用太大,我用的是阿里云的服务器,生活在大陆,国内访问比较快 用到的服务: RSSHub :一个开源、简单易用、易于扩展的 RSS 生成器,可以给任何奇奇怪怪的内容生成 RSS 订阅源。 TTRSS :一款基于 PHP 的免费开源 RSS 聚合阅读器。 用rsshub生成官方没有的订阅源,ttrss来管理订阅源的阅读记录,支持各端同步 一、部署RSSHub 支持docker部署,不过,我是部署到 Vercel 上的,好处是免费、国外的机子,真正连接到互联网的,国内可访问。 1、注册 Vercel 有帐户的直接可以登录部署 没有的先注册,建议用GitHub账号登录注册,github账号邮箱建议用gmail等国外的,通过率高,如果提示失败,可以和官方人员发email解封,我的当时就直接被冻结了,发了email后,一会就解封了,态度超好👍 2、成功后可以直接点去部署了,我是没有用官方的库部署,fork官方库后去授权部署的,效果一样,vercel 用默认的就行,等待一会,撒花,表示部署成功 3、直接访问域名成功打开即部署成功 4、rsshub配置环境可参考 部署 | RSSHub 配置 用户认证 日志配置 其他一些服务需要的api-key 5、在vercel 配置完 重新部署服务,才生效 更新 支持vercel自动拉取代码更新 二、部署TTRSS 部署到vps 阿里云上,支持docker、docker-composr即可 docker-compose部署 下载 docker-compose.yml 至任意目录。 更改 docker-compose.yml 中的设置,请务必更改 postgres 用户密码。 通过终端在同目录下运行 docker-compose up -d 后等待部署完成。 默认通过 181 端口访问 TTRSS,默认账户:admin 密码:password,请第一时间更改。 wangqiru/mercury-parser-api 及 wangqiru/opencc-api-server 为支持高级功能而加入的可选服务类容器,删除不会影响 TTRSS 基础功能。 SELF_URL_PATH: TTRSS 实例地址。🔴 请注意,该变量值必须与你在浏览器中用于访问 TTRSS 的 URL 保持完全一致,否则 TTRSS 将无法启动。 这里说明一下,如果没有域名就要配置为 ip:端口号 的形式 更多配置参考 官方文档 更新 推荐使用手动更新 1 2 3 4 5 6 7 #自用 docker-compose pull #官方推荐 docker pull wangqiru/ttrss:latest # docker pull wangqiru/mercury-parser-api:latest # docker pull wangqiru/opencc-api-server:latest docker-compose up -d # 如果您没有使用 docker-compose,我确信您知道该怎么做。 备份 养成定期备份的习惯,有些订阅源很重要的资料可以永久保存,避免404 复制 Postgres 数据卷 ~/postgres/data/(或者你在 docker-compose 中指定的目录)至其他任何地方作为备份,这非常重要! 执行如下命令来导出所有数据: 1 2 #docker exec postgres pg_dumpall -c -U 数据库用户名 > export....

创建: 2022-03-13 | 更新: 2024-09-28 | 字数: 248字 | 时长: 2分钟 | 作者:张三