首先下载附件上传到服务器目录
使用脚本安装docker
#确保 yum 包更新到最新
sudo yum update
#执行 Docker 安装脚本,执行这个脚本会添加 docker.repo 源并安装 Docker。
curl -fsSL https://get.docker.com/ | sh
#启动 Docker 进程
sudo service docker start
#验证 docker 是否安装成功并在容器中执行一个测试的镜像
sudo docker run hello-world
设置docker开机自启动
sudo systemctl enable docker
安装docker compose
# 下载最新版本的 docker-compose 到 /usr/bin 目录下
curl -L https://github.com/docker/compose/releases/download/1.25.5/docker-compose-`uname -s`-`uname -m` -o /usr/bin/docker-compose
# 给 docker-compose 授权
chmod +x /usr/bin/docker-compose
下载typecho
下载到当前目录,解压到typecho文件夹
修改typecho.conf中的server_name为具体的域名
mysql.env中配置,具体详见mysql.env即可
进入php文件夹,执行docker build -t scofieldpeng/php-fpm:7.2.3-fpm .
返回项目根目录,然后执行docker-compose up -d即可
在宿主机的nginx中新建相应的配置文件,proxy到8080即可
初始化typecho配置
使用HTTPS
由于是采用的proxy到容器的80端口,因此typecho不会知道目前是用的https协议,通过源码可以看到,typecho支持显性告诉当前的域名是https,因此可以在typecho的index.php或者config.inc.php中添加下列代码:
开启https支持
define('__TYPECHO_SECURE__',TRUE);
当然,如果你的服务器只需要跑一个博客,而不需要其他的服务在80或者443端口,直接修改typecho.conf,添加https,再修改docker-compose.yaml文件,暴露出80和443端口即可,这里不做详细阐述。
备份和恢复/迁移
备份很简单,直接将项目目录整个copy下来即可,恢复时整个文件夹上传到新的服务器,然后进入目录执行docker-compose up -d重新跑起来即可,方便快捷
mysql管理
可以看到docker-compose中mysql镜像时暴露出了3306端口到127.0.0.1,可以通过ssh代理登录3306端口进行管理,也可以安装一个phpadmin的容器连接上,看自己方便啦!
一键部署附件
docker-typecho-master.rar