type
status
date
slug
summary
tags
category
icon
password

由来

不管是阿里,腾讯,还是华为的云服务器,对于新用户优惠都是极大了,新用户买同样配置的云服务器,要比老用户便宜一半以上的费用,于是乎,这几年我从阿里的服务器,转到了腾讯的服务器,现在又从腾讯的服务器转到了华为的服务器。但是每次更换新的服务器的时候,尤其是更换了厂家,所有的环境都得重新配置,哪怕是一个静态博客所需的node,git环境,实在是麻烦。

初识docker

机缘巧合的机会接触到docker,使用Dockerfile文件配置了各种环境,一句dokcer build命令,便创建了自己需要的镜像,一句docker run,自己要的容器便生成了,如此方便的操作,再也不用担心以后换服务器的。

思路

notion image
  • 本地电脑使用git push 命令提交到服务器的宿主机git仓库中
  • 宿主机中的git仓库配置hook,当发现提交时,将宿主机装裸仓库提交到容器中git仓库中。
  • 容器中的git仓库也配置hook,当发现提交时,将markdown的文档,转成html文件,生成静态网站
<!--more-->

使用Dockerfile配置博客需要的环境

take is cheap, show me your code!先浏览一下dockerfile。其中Dockerfilesources.listpost-receice同一文件夹Dockerfile
sources.list
post-receice
如此这般,这般如此,就可以生成博客系统所需的镜像。 创建镜像
创建容器
查看容器
进入容器

创建宿主机中的git仓库

为了安全,宿主机中专门创建一个git用户用于提交
在git用户下创建裸仓库,如图中的黑色边框部分
配置宿主机中的hook文件,post-receive。宿主机中的钩子,只需要push裸仓库给容器git仓库
为post-receive添加执行权限
使用ls -la命令确保post-receice的权限在git用户中
如果不是git用户,切换到root用户,使用chown,chgrp为post-receice修改用户和用户组。
使用秘钥实现免密登录,如果使用密码提交则会卡在输入密码的地方
宿主机id_rsa.pub中的内容复制到容器中的.ssh/authorized_keys
至此,宿主机中的git仓库配置,就完成了。接下来进行容器中ssh的配置

容器中ssh的配置

因为容器的git配置在Dockerfile已经完成,只剩下ssh的免密的配置。 进入容器
编辑sshd_config
在最下面添加以下代码
重启ssh
CDH部署配置AndroidStudio4.1 自定义模板