创建自己的博客系统(系列教程)
既然自己已经开始打算平时写点技术文章,作为技术出身,没有一个自己的博客那是不行,现在开始,打算自己部署一个开元博客系统,自己发布到生产线上运行,预计花费六到七篇文章,完成这个系列
知识储备
- Linux操作基础
- docker
- docker-compose
- ghost开源博客系统
- 域名
- 服务器购买
目录概要:
01.安装docker和docker-compose
02.使用docker-compose编排mysql
03.使用docker-compose编排ghost,nginx
04.配置日志相关的备份操作等
05.申请域名,申请ssl证书,配置nginx
06.上线运行
开篇 ------> 安装docker和docker-compose
安装docker,并学习一些简单操作
本人家用电脑使用的是Deepin 15.11操作系统,各操作系统安装docker稍有不同,请在docker官网阅读文档以便安装
以下操作都是基于Deepin 15.11进行的,提供一个思路,供大家参考
- 打开终端,进行apt-get的update和upgrade
sudo apt-get update
sudo apt-get upgrade
# 安装docker服务,deepin安装源已经收录了docker.ce,可使用apt直接安装
sudo apt-get installl -y docker.ce
- 检测docker是否安装成功
docker --version # 查看docker版本
输入之后会打印出已安装的docker的版本
- 非root用户运行docker,并且加入到docker用户组
sudo groupadd docker # 创建docker用户组
sudo usermod -aG docker $USER # 将当前登录用户添加到docker用户组
- 安装docker加速器
docker容器下载,因为国内原因,经常下载失败,并且还特别的慢,很有必要设置以下docker的安装下载源
前往阿里云镜像加速服务
复制你自己的加速器地址,根据一下提示操作
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["你自己的加速器地址"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
到此,docker加速器已经配置完成
- 运行docker的hello-world容器,感受一下docker
docker run hello-world
第一次运行,docker会检测本地时候有hello-world镜像,如果没有会自动下载对应的镜像并运行镜像,运行之后会得到一个Hello from Docker!的回馈,说明docker服务已经安装成功
- 一些常用的docker命令
sudo service docker stop # 停止docker服务
sudo service docker start # 启动docker服务
sudo service docker restart # 重启docker服务
docker ps -au # 查看当前运行的容器进程
docker run --name 容器名 -p 本机端口:容器端口 -v 本机目录:容器目录 -d 镜像名 # 根据镜像启动一个容器,添加端口映射和目录映射
docker stop 容器名/容器Id # 停止一个正在运行的容器
docker rm 容器名/容器Id # 删除一个已经停止运行的容器
docker rmi 镜像名 # 删除一个本地已下载的镜像
安装docker-compose方便对docker容器进行编排部署
目前为止,docker服务已经安装成功,可以使用docker运行不同的容器,可是有一个问题,docker每次运行一个容器,需要很多参数,需要添加端口映射,目录映射,还有容器之间的关联,自己从命令行很难管理,使用docker-compose能方便的管理这些问题,下面开始安装docker-compose
- 下载docker-compose
wget https://github.com/docker/compose/releases/download/1.21.0/docker-compose-`uname -s`-`uname -m` # 下载docker-compose
sudo mv docker-compose-`uname -s`-`uname -m` /usr/bin/docker-compose # 移动到 /usr/bin下,方便环境变量
alias dc='docker-compose $*' # 定义别名dc,每次输入docker-compose太麻烦,使用dc代替docker-compose
- 检测docker-compose安装是否成功
dc version