如果你是一个程序员,那么一定听说过 Git 或者已经在使用它。如果你还没有尝试过,推荐你去尝试一下,这是一个很不错的版本控制工具。 平时使用 Git,如果想把代码备份到云端或者跟别人合作开发,首先想到的可能是 Github,但是有时 Github 不是很方便,比如 Github 在国内的访问速度比较慢,虽然 Github 的私有存储库被微软爸爸收购以后变成了无数量限制,但是免费版每个私有存储库只允许最多 3 位合作者,如果是跟公司团队合作开发的话,3 个明显不够用。 面对这种情况,很多人都会选择自建 Git 服务器…

2019-09-08 2条评论 3869点热度 0人点赞 小山 阅读全文

相信看了前几篇文章,大家对 Docker 有了一定的了解,也掌握了 Docker 的基本使用方法。 很多时候,我们需要的不只是单独的一个服务,而是需要很多服务连接起来的,比如要搭建个博客系统,博客系统的镜像可能只包含 PHP 和 Web 服务器,但是数据的存储还需要用到服务器,这就需要再创建一个数据库容器。 但是默认情况下,每个容器都是独立的,都是不可互相访问的,如何将容器连接起来呢? 相信有一些小伙伴看了上篇《网络驱动》的文章后已经有了些想法。 小山在这篇文章就教大家如何优雅的将容器连接起来,有两种方法,为了演示…

2019-06-26 3条评论 3850点热度 2人点赞 小山 阅读全文

在之前的几篇文章中,小山向大家介绍了 Docker,以及如何安装并且使用它。 我们使用 Docker 大多数的目的是用来搭建网络服务,比如搭建网站系统,而这些服务我们是要对外公开访问的,这就涉及到一个容器的网络问题,容器的网络是如何工作的,如何让容器里的服务可以对外访问。 这篇教程我们就来讲讲 Docker 几种网络驱动,以及它们是如何工作的,该如何使用它们。 Docker 的网络驱动默认情况下有四个:bridge、host、overlay 和 macvlan,还有一个特殊的网络驱动 none 用于禁止容器访问网络…

2019-06-26 0条评论 3333点热度 2人点赞 小山 阅读全文

上一篇文章讲了 Docker 容器的使用方法,我们还在上一篇文章提到过,容器里的数据默认是会随容器的消失而消失的。 如果想让数据持久保留,需要用到 Docker 的绑定挂载功能,这个功能可以将宿主系统的文件或文件夹挂载到容器里,也可以使用 Docker 卷来创建一个卷并挂载到容器里。 下面我们就一起来了解下这两种方法以及如何使用。 讲数据持久化之前,先来说一下如何导出和导入容器里的文件。 如果想复制文件到容器里,或者是把容器里的文件复制出来,很简单,使用命令sudo docker cp 例如(假设容器正在后台运行)…

2019-06-25 2条评论 3698点热度 1人点赞 小山 阅读全文

上一篇文章我给大家介绍了 Docker 以及如何安装,这篇文章我们就正式开始使用 Docker,先从容器的基本使用方法开始。 上一篇文章已经大致介绍过容器了,容器是由 Docker 镜像创建的,镜像是由 Dockerfile 文件生成的,Dockerfile 包含了这个镜像的信息、依赖项以及需要执行的操作,如果我们需要自定义镜像,可以自己编写 Dockerfile 文件,鉴于我们这是新手入门的教程,Dockerfile 文件的编写不在本教程范围里。 Docker 创建一个容器后,这个容器便是一个独立于其他容器和宿主…

2019-06-25 0条评论 3404点热度 1人点赞 小山 阅读全文

在 Linux 环境下部署生产或测试环境往往是一件让人头疼的事,如果直接用系统的包管理器安装,软件的版本可能会很旧,如果自己手动编译安装,又会非常的麻烦,性能不好的前提下又非常的耗时间,还有各种依赖项需要解决。 如何能在 Linux 环境下,省时省力的部署生产或测试环境呢,而且最好还可以让不同机器上的环境都一致,在万能的 Linux 上面,当然是可以的啦。 目前最好的解决方案是 Docker,鉴于很多小伙伴不会使用 Docker,我决定花几篇文章给新入门的小伙伴大致的讲一下 Docker 如何使用。 Docker …

2019-06-25 2条评论 3758点热度 4人点赞 小山 阅读全文

在群里小伙伴的帮助下,小山拿到了斐讯 P1,便折腾了一番。 正如斐讯商城所描述的那样:斐讯N1 升级版,P1 实际上就是 N1 的盒子 + T1 的遥控器和系统,除此之外,没有别的变化。 那么有些小伙伴就要问了,既然是 N1 的盒子,那么能不能用给 N1 刷机的方法给 P1 刷机呢? 答案是:当然可以,而且不需要任何额外的操作,你可以完全根据我之前给 N1 刷机的方法给 P1 刷机,完全没得问题。 N1 教程系列:https://www.mivm.cn/tag/n1/ 关于 P1 值不值得入手:我觉得,如果你缺一个…

2019-03-20 1条评论 5889点热度 1人点赞 小山 阅读全文

大家如果想随时随地查看和修改文件,一般会选择将文件保存至网盘,很方便,而且空间还比较大。但是由于国内的网盘环境现在比较差,再加上我们不可能把所有文件都搬上网盘,那就需要另一种解决方案了。 这就是让我们可以直接访问我们家里或者公司里的设备,直接对设备上的文件进行操作。如果在以前,这种方案并不是人人都可以做到的,因为如果你想直接访问设备,就需要设备有公网 IP 或者做内网穿透,否则是无法随时随地访问设备的。 但是随着 IPv6 的普及,我们已经可能做到每台设备都有一个公网 IPv6 地址,虽然它不是固定的,不过你只需要…

2018-12-15 48条评论 12353点热度 13人点赞 小山 阅读全文

咳咳咳,上篇教程教大家给斐讯 N1 降级并且刷了官改系统,可以当作一个电视盒子和下载机来使用。 有些小伙伴可能不想把它当作电视盒子,就想把它当作 NAS 或者是服务器,但是总不能拿 Android 玩吧,Android 也不是针对服务器设计的。 那么我说过,N1 不仅能刷官改,还能运行 Linux,而且是完整的 Linux 发行版,用 Linux 当服务器、NAS、下载机,体验总是要比 Android 好的。 这篇教程就教大家如何在斐讯 N1 运行 Linux 以及后续的优化,在此之前,需要将你的 N1 降级并刷入…

2018-06-23 81条评论 20169点热度 21人点赞 小山 阅读全文

最近小山在编写 Bash 脚本的时候遇到一个处理 JSON 的问题,需要更改指定键的值。 Bash 的功能实现都是基于系统内的命令或二进制,但是 Linux 下并没有这样的工具,只有一个名为 jq 的工具,但它只能解析 JSON,并不能更改和生成。 所以。。。只能用现有的文本处理命令和 JQ 写一个出来,由于 JSON 的复杂性,Bash Shell 想完美处理几乎是不可能的,所以我只写了更改,没有添加和删除。 如果要处理的 JSON 是单个对象,只有一个花括号 {}。 这样处理起来是很简单的,因为不存在重复的键值…

2017-11-21 1条评论 12426点热度 0人点赞 小山 阅读全文