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

2019-09-08 2条评论 3968点热度 小山 阅读全文

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

2019-06-26 3条评论 3935点热度 小山 阅读全文

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

2019-06-26 0条评论 3380点热度 小山 阅读全文

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

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

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

2019-06-25 0条评论 3455点热度 小山 阅读全文

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

2019-06-25 2条评论 3843点热度 小山 阅读全文

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

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

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

2018-12-15 48条评论 12818点热度 小山 阅读全文

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

2018-06-23 81条评论 20923点热度 小山 阅读全文

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

2017-11-21 1条评论 12491点热度 小山 阅读全文