戊辰人博客

青,取之于蓝而青于蓝;冰,水为之而寒于水。

OpenWRT/LEDE路由器搭建OpenVPN服务器

日期:2017年10月16日 作者: 分类:运维 阅读:528

硬件:NETGEAR WNDR3800 v1

系统:LEDE 17.01.3

关于OpenWRT和LEDE的关系,此处不多啰嗦,可自行Google之。至于路由器如何刷LEDE,网上有大把优秀的教程,此处也不赘述。

一、安装搭建openvpn所需要的软件

首先,ssh登录路由器并更新软件源:

# 登录路由器
ssh root@192.168.1.1

# 更新软件源
opkg update

更新完成后安装需要的软件:

opkg install openvpn-easy-rsa openvpn-mbedtls

阅读全文…

ffmpeg将DVD视频合并转换为mp4格式

日期:2017年08月28日 作者: 分类:运维 阅读:293

以前有保存一个演唱会的DVD原盘文件,格式为.ISO格式,如今DVD已经完全淘汰,画质体积也完全跟不上现在的视频,现在准备将其转制为mp4格式,方便播放。

一、挂载光盘文件

我的两张光盘文件存放在/var/storage/Music/chou下面,文件名为001.ISO002.ISO,此处只写出001.ISO的操作步骤。

首先创建/mnt/cd1目录,然后用如下命令挂载光盘:

# 以只读模式挂载
sudo mount -o ro /mnt/cd1 /var/storage/Music/chou/001.ISO

查看/mnt/cd1/VIDEO_TS下视频文件:

通过文件大小可以看出,真正的视频文件为VTS_02_*.VOB这些文件。

阅读全文…

免费SSL证书Let’s Encrypt安装使用教程

日期:2017年07月31日 作者: 分类:运维 阅读:429

Let’s Encrypt有什么样的背景有多牛逼,请自行Google

本文内容参考官网教程,需要的可以直接浏览官网教程,上面有各种环境下配置使用的教程。

本人博客使用Nginx + CentOS 7组合,要查看官方教程,请浏览https://certbot.eff.org/#centosrhel7-nginx

安装

Let’s Encrypt官方提供了certbot这个工具供我们管理证书使用,certbot软件包已经收录在epel源中,epel源安装可以直接参考使用中科大epel镜像源,国内使用速度更快。已经安装的可以跳过此步骤。

完成epel源安装后,执行如下命令:

$ yum -y install yum-utils
$ yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional

执行安装完成后,就可以安装certbot了,命令如下

$ sudo yum install certbot-nginx

阅读全文…

Linux中su与sudo、su – root的区别

日期:2017年01月11日 作者: 分类:运维 阅读:1,357

一、su 和 sudo 的区别

共同点:都是root用户的权限;

不同点:su仅仅取得root权限,工作环境不变,还是在切换之前用户的工作环境;sudo是完全取得root的权限和root的工作环境。

二、su – root 和 su root(su)的区别

su – root:表示人以root身份登录

just like login as root, then the shell is login shell,which mean it will expericene a login process,usually .bash_profile and .bashrc will be sourced

su root:表示与root建立一个链接,通过root执行命令

like you open an interactive shell in root name,then only .bashrc will be sourced.

阅读全文…

Docker实战(六)搭建自己的Docker Registry

日期:2016年05月04日 作者: 分类:运维 阅读:3,247

Docker Registry 是一个用来管理Docker镜像的服务,本身也是一个Docker容器。大部分情况下都可以使用Docker Hub,私有的Docker Registry使用场景主要在当需要对容器镜像存储进行完全控制或需要把镜像管理进行集成的情况。

一、Docker Registry 部署

由于 Docker Registry 已经被制作成一个Docker镜像,所以安装部署非常简单,只需要按照我们通常的docker run就可以,如果本地没有 registry 的镜像,则会自动从 Docker Hub 上获取。

需要注意的是 Registry 默认的对外服务端口是 5000,如果我们宿主机上运行的 Registry 需要对外提供服务,可以通过映射端口的方式提供。

本节实验中我们使用 registry:2 镜像,这个镜像为2.0版本的Registry。

部署 Docker Registry的命令:

docker run -d -p 5000:5000 --restart=always --name registry registry:2

停止和删除 Registry 只需要用容器管理中学到的 docker stopdocker rm命令。

阅读全文…

Docker实战(五)编写Dockerfile

日期:2016年05月03日 作者: 分类:运维 阅读:1,963

目标:编写Dockerfile搭建LAMP环境,并能通过ssh连接到容器。

一、创建Dockerfile文件

首先,需要创建一个目录来存放 Dockerfile 文件,目录名称可以任意,在目录里创建Dockerfile文件:

编写Dockerfile

二、Dockerfile 基本框架

Dockerfile一般包含下面几个部分:

  1. 基础镜像:以哪个镜像作为基础进行制作,用法是FROM 基础镜像名称
  2. 维护者信息:需要写下该Dockerfile编写人的姓名或邮箱,用法是MANITAINER 名字/邮箱
  3. 镜像操作命令:对基础镜像要进行的改造命令,比如安装新的软件,进行哪些特殊配置等,常见的是RUN 命令
  4. 容器启动命令:当基于该镜像的容器启动时需要执行哪些命令,常见的是CMD 命令ENTRYPOINT

在本节实验中,我们依次先把这四项信息填入文档。Dockerfile中的#标志后面为注释,可以不用写。

打开Dockerfile,依次输入下面的基本框架内容:

阅读全文…

Docker实战(四)网络管理

日期:2016年04月29日 作者: 分类:运维 阅读:1,255

一、Docker网络基本配置

1)默认配置

Docker服务启动时会自动创建一个 docker0 的虚拟网桥,后续新创建的容器都会有个虚拟接口连接到这个网桥:

Docker网络管理

Docker网桥会设置为NAT模式,自动分配一个网段,本机环境中docker0的地址是172.17.0.1,每个容器都会自动分配的到一个IP地址。

可以通过docker inspect redis查看名为redis容器的网络配置信息。

我们可以为 Docker 服务指定不同的网桥以及网段,这些配置都可以写在 /etc/default/docker 文件中,作为服务启动的参数。

2)配置文件 /etc/default/docker

该文件为LMDE2 操作系统中 Docker 服务启动时使用的配置文件,不同的操作系统位置会有不同。这个文件本身是个 Shell 脚本。

首先查看文件内容:

阅读全文…

Docker实战(三)镜像管理

日期:2016年04月28日 作者: 分类:运维 阅读:2,375

简单的说镜像就是一个容器的只读模板,用来创建容器。当运行容器时需要指定镜像,如果本地没有该镜像,则会从Docker Registry下载。默认查找的是Docker Hub。Docker的镜像是增量的修改,每次创建新的镜像都会在老的镜像上面构建一个增量的层,使用到的技术是Another Union File System(AUFS)。

一、使用 Docker Hub

镜像存储中的核心概念仓库(Repository)是镜像存储的位置。Docker 注册服务器(Registry)是仓库存储的位置。每个仓库包含不同的镜像。

比如一个镜像名称 ubuntu:14.04,冒号前面的ubuntu是仓库名,后面的14.04是TAG,不同的TAG可以对应相同的镜像,TAG通常设置为镜像的版本号。

Docker Hub 是Docker官方提供公共仓库,提供大量的常用镜像,由于众所周之的原因经常连接Docker Hub会比较慢,所以我们也可以选择一些国内提供类似Docker Hub镜像服务站点。连接Docker Hub的常用命令包括:

# 搜索镜像
docker search ...

# 下载镜像
docker pull ...

阅读全文…

Docker实战(二)数据卷管理

日期:2016年04月27日 作者: 分类:运维 阅读:2,635

Docker中的数据可以存储在类似于虚拟机磁盘的介质中,在Docker中称为数据卷(Data Volume)。数据卷可以用来存储Docker应用的数据,也可以用来在Docker容器间进行数据共享。

数据卷呈现给Docker容器的形式就是一个目录,支持多个容器间共享,修改也不会影响镜像。使用Docker的数据卷,类似在系统中使用 mount 挂载一个文件系统。

一、数据卷创建

容器管理实验中我们学习的命令 docker run 用来创建容器,可以在使用改命令时添加 -v 参数,就可以创建并挂载一个到多个数据卷到当前运行的容器中,-v的作用是将宿主机的一个目录作为容器的数据卷挂载到容器中,使宿主机和容器之间可以共享一个目录,如果本地路径不存在,Docker也会自动创建。

# 创建两个目录
mkdir /tmp/data1 /tmp/data2 

# 分别将两个目录挂载到新创建的容器上
docker run -t -i --name docker2 -v /tmp/data1:/data1 -v /tmp/data2:/data2 ubuntu /bin/bash

Docker数据卷管理

上述命令中 -v 参数可以使用多次,并挂在多个数据卷到容器中。后面的参数信息中冒号前面是宿主机的本地目录,冒号后面是容器中的挂载目录。

阅读全文…

Docker实战(一)容器管理

日期:2016年04月26日 作者: 分类:运维 阅读:706

Linux容器技术很早就有了,比较有名的是被集成到主流Linux内核中的LXC项目。容器通过对操作系统的资源访问进行限制,构建成独立的资源池,让应用运行在一个相对隔离的空间里,同时容器间也可以进行通信。

容器技术对比虚拟化技术,容器比虚拟化更轻量级,对资源的消耗小很多。容器操作也更快捷,启动和停止都要比虚拟机快。但Docker容器需要与主机共享操作系统内核,不能像虚拟机那样运行独立的内核。

Docker是一个基于LXC技术构建的容器引擎,基于GO语言开发,遵循Apache2.0协议开源。Docker的发展得益于为使用者提供了更好的容器操作接口。包括一系列的容器,镜像,网络等管理工具,可以让用户简单的创建和使用容器。

Docker支持将应用打包进一个可以移植的容器中,重新定义了应用开发,测试,部署上线的过程,核心理念就是 Build once, Run anywhere。

Docker容器技术的典型应用场景是开发运维上提供持续集成和持续部署的服务。

一、Docker安装

Docker的安装教程非常多,此处就不写了,各种系统下安装教程可以点击查看官方安装文档

二、创建第一个容器

如果我们需要一个保持运行的容器呢,最简单的方法就是给这个容器一个可以保持的应用,比如bash,运行 ubuntu 容器并进入容器的 bash:

docker run -t -i ubuntu /bin/bash

Screenshot from 2016-04-26 12:52:40

阅读全文…