Linux下Docker搭建部署Typecho博客【详细版】

Linux下Docker搭建部署Typecho博客【详细版】

  • 一、环境准备
    • 1.1.准备阿里云服务器【新用户免费使用三个月】
    • 1.2.准备远程工具【FinalShell】
    • 1.3.系统信息
    • 1.4.安装所需软件包
    • 1.5.设置docker镜像源
    • 1.6.更新yum软件包索引
    • 1.7.确认停用selinux
  • 二、安装Docker
    • 2.1.安装Docker-Ce
    • 2.2.查看是否安装成功
    • 2.3.启动Docker
    • 2.4.docker镜像相关操作命令
    • 2.5.docker容器相关操作命令
  • 三、Typecho安装与部署【方式一】
    • 3.1.拉取typecho镜像
    • 3.2.实例化容器
    • 3.3.阿里云开放80端口
    • 3.4.访问测试
    • 3.5.进入容器安装Mysql服务
    • 3.6.配置typecho
    • 3.7.查看网站
    • 3.8.下载并导入新主题
    • 3.9.查看新主题
    • 3.10.将容器导出,方便我们在其他Docker环境部署安装
    • 3.11.缺点
    • 3.12.总结
  • 四、Typecho安装与部署【方式二】
    • 4.1.拉取镜像
    • 4.2.实例化typecho容器
    • 4.3.实例化mysql容器
    • 4.4.进入到mysql容器创建数据库
    • 4.5.使用第三方工具Navicat连接数据库
    • 4.6.进行访问网站配置【和上面步骤一样】
    • 4.7.配置主题
    • 4.8.查看数据库
    • 4.9.首页文章数量默认5条,改成10条
    • 4.10.总结
  • endl endl 本文章下载链接

一、环境准备

1.1.准备阿里云服务器【新用户免费使用三个月】

阿里云服务器链接专享:https://www.aliyun.com/daily-act/ecs/activity_selection?userCode=yu4fhct7

在这里插入图片描述

1.2.准备远程工具【FinalShell】

官网:http://www.hostbuf.com/
下载链接:http://www.hostbuf.com/t/988.html

在这里插入图片描述
在这里插入图片描述

1.3.系统信息

# 查看版本信息,内核信息
cat /etc/redhat-release
uname -r

在这里插入图片描述

1.4.安装所需软件包

# 安装gcc环境
yum -y install gcc
yum -y install gcc-c++

# 工具虚拟机联网,安装yum工具包
yum install -y yum-utils device-mapper-persistent-data lvm2 --skip-broken

# 升级yum工具
yum update -y

# 安装unzip解压软件
yum -y install unzip

# 安装必要的软件
yum install -y git vim wget tree
yum install -y pcre pcre-devel zlib zlib-devel openssl openssl-devel

1.5.设置docker镜像源

# 设置docker镜像源,国内aliyun,加快访问速度
yum-config-manager \
    --add-repo \
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo

在这里插入图片描述

1.6.更新yum软件包索引

# 更新yum软件包索引
yum makecache fast

在这里插入图片描述

1.7.确认停用selinux

selinux(security-enhanced linux),美国安全局对于强制访问控制的实现,在linux2.6内核以后的版本中,selinux已经成功内核中的一部分。可以说selinux是linux史上最杰出的新安全子系统之一。虽然有了selinux,我们的系统会更安全,但是对于我们的学习Nginx的历程中,会多很多设置,所以这块建议大家将selinux进行关闭。

# 查看状态
sestatus

在这里插入图片描述

如果查看不是disabled状态,我们可以通过修改配置文件来进行设置,修改SELINUX=disabled,然后重启下系统即可生效。

vim /etc/selinux/config

# 重启系统
reboot

在这里插入图片描述

二、安装Docker

2.1.安装Docker-Ce

yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

在这里插入图片描述

2.2.查看是否安装成功

# 查看安装版本信息
docker -v
docker version

在这里插入图片描述
在这里插入图片描述

2.3.启动Docker

启动docker: systemctl start docker
停止docker: systemctl stop docker
重启docker: systemctl restart docker
查看docker状态: systemctl status docker
开机启动: systemctl enable docker

2.4.docker镜像相关操作命令

# 列出本地主机上的镜像
docker images
#列出本地所有的镜像(含历史映像层)
docker images -a
#只列出5个redis镜像
docker search --limit 5 redis
# 下载镜像
docker pull 镜像名字[:TAG]   {TAG:镜像的标签版本号}
#没有TAG就是最新版本
docker pull 镜像名字
docker pull 镜像名字:latest
#删除某个镜像
docker rmi 某个镜像名字ID
#强制删除某个镜像
docker rmi -f 某个镜像名字ID

2.5.docker容器相关操作命令

#列出当前所有正在运行的容器
docker ps
docker ps [OPTIONS]
OPTIONS说明(常用):
-a :列出当前所有正在运行的容器+历史上运行过的
-l :显示最近创建的容器。
-n :显示最近n个创建的容器。
-q :静默模式,只显示容器编号。
#启动已停止运行的容器
docker satrt 容器ID或者名字

#重启容器
docker resatrt 容器ID或者名字

#停止容器
docker stop 容器ID或者名字

#删除已停止的容器
docker rm 容器ID
docker rm -f 容器ID

三、Typecho安装与部署【方式一】

3.1.拉取typecho镜像

# 查询镜像
docker search typecho --limit 5

# 拉取镜像
docker pull 80x86/typecho

#查看本地镜像
docker images

在这里插入图片描述
在这里插入图片描述

3.2.实例化容器

docker run -d \
--name=typecho \
--restart always \
-e PHP_TZ=Asia/Shanghai \
-e PHP_MAX_EXECUTION_TIME=600 \
-p 80:80 80x86/typecho:latest

在这里插入图片描述

3.3.阿里云开放80端口

在这里插入图片描述

3.4.访问测试

在这里插入图片描述

3.5.进入容器安装Mysql服务

# 进入容器内部
docker exec -it typecho sh

# 安装数据库客户端
apk add mysql mysql-client

# 初始化数据库
mysql_install_db --user=mysql --datadir=/var/lib/mysql

# 安装openrc
apk add openrc

# 启动mariadb服务
rc-service mariadb start

# 设置mysql数据库密码
mysql_secure_installation

# 进入数据库
mysql -u root -p
自己的密码

# 创建数据库
create database typecho;

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.6.配置typecho

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.7.查看网站

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.8.下载并导入新主题

# 创建文件夹用于本地保存主题
mkdir -p /app/typecho/themes

cd /app/typecho/themes

# 克隆安装Joe主题
git clone https://github.com/HaoOuBa/Joe.git

# 手动下载并解压缩
unzip Joe-master.zip

# 向容器导入新主题
docker cp Joe-master typecho:/data/themes

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.9.查看新主题

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.10.将容器导出,方便我们在其他Docker环境部署安装

mkdir -p /docker/container

cd /docker/container

docker ps

# be6788016e06为自己容器的ID,按实际情况
docker export be6788016e06 > typecho-1.1.tar

在这里插入图片描述

3.11.缺点

  1. 无法连接数据库,进行数据备份
  2. 必须进入容器,才能操作数据库
  3. 主题不方便导入

在这里插入图片描述

3.12.总结

使用docker部署搭建typecho博客非常简单,将数据库和博客放在同一个容器内,方便导出,处处DOCKER环境可部署,方便备份,导入导出容器。

四、Typecho安装与部署【方式二】

4.1.拉取镜像

docker pull 80x86/typecho

# 不加版本号5.7,默认拉取的是最新版
docker pull mysql:5.7

在这里插入图片描述

4.2.实例化typecho容器

docker run -d \
--name=typecho \
--restart always \
-v /app/typecho/themes:/data/themes \
-e PHP_TZ=Asia/Shanghai \
-e PHP_MAX_EXECUTION_TIME=600 \
-p 80:80 80x86/typecho:latest
# 上面保存的主题路径为:/app/typecho/themes,自然同步,以后所有的主题都可以在此目录下,自动同步
-v 挂载文件用的,表示将服务器的themes写到你docker宿主机的/app/typecho/themes下面,实现同步

在这里插入图片描述

4.3.实例化mysql容器

# 安装mysql,启动数据卷,使得将docker内的数据保留进宿主机的磁盘中,设置mysql密码为123456
docker run \
--name mysql \
--privileged=true \
-e MYSQL_ROOT_PASSWORD=123456 \
-p 3306:3306 \
-d \
mysql:5.7
--name : 起名字
--privilege=true : 容器数据卷权限开启
-p : 端口映射
-d : 后台运行

在这里插入图片描述

4.4.进入到mysql容器创建数据库

# 进入容器
docker exec -it mysql /bin/bash

# 进入数据库
mysql -u root -p
自己的密码

# 创建数据库
create database typecho;

在这里插入图片描述
在这里插入图片描述

4.5.使用第三方工具Navicat连接数据库

在这里插入图片描述
在这里插入图片描述

4.6.进行访问网站配置【和上面步骤一样】

在这里插入图片描述

4.7.配置主题

在这里插入图片描述

4.8.查看数据库

在这里插入图片描述

4.9.首页文章数量默认5条,改成10条

# 操作数据库
use typecho;

update typecho_options set value = 10 where name = 'pageSize';

4.10.总结

  1. 数据库数据可进行备份
  2. 也可以直接在linux下安装mysql数据库;本次使用的docker容器数据库占用比较小
  3. 也可以直接将容器导出
  4. 可以随时更改主题内容

endl endl 本文章下载链接

endl 本文章下载链接:https://www.lanzv.com/itIBR1myojja 密码:e1v5

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/364228.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

智能预测:数字化时代的服装企业如何实现准确的需求规划

在数字化时代,智能预测成为服装企业实现准确需求规划的关键。通过充分利用先进的技术手段,企业能够更精准地洞察市场动态、了解消费者行为,从而使生产计划更加敏捷、高效。以下是数字化时代服装企业实现准确需求规划的关键步骤和策略。 1.数…

探索组合模式的魅力:探索树形结构的艺术与科学

设计模式专栏:http://t.csdnimg.cn/nolNS 在面对层次结构和树状数据结构的软件设计任务时,我们如何优雅地处理单个对象与组合对象的一致性问题?组合模式(Composite Pattern)为此提供了一种简洁高效的解决方案。通过本…

InfluxDB数据的导入导出

Background influxdb支持将时序数据导出到文件,然后再将文件导入到数据库中,以此实现数据的迁移。 1、数据导出 语法: 示例: influx_inspect export -datadir "/var/lib/influxdb/data" -waldir "/var/lib/influ…

kubekey网页版安装k8s集群操作流程

kubekey可以一键拉起k8s集群并完成kubesphere的部署,以后kubekey简称kk。kk 3.2版本以前都是在宿主机上完成对应的创建集群、添加节点、升级等操作的,3.2版本后开始往页面操作的方向演进,kk 3.2版本现在还是alpha,所以不推荐在生产…

flowable 设置自定义属性教程

概述 由于工作需要给flowable工作流设计器添加自定义属性,以满足功能实现。所以这篇文章介绍下用flowable 开源的的flowable-ui 前端添加自定义属性,后端解析属性值的例子。 技术栈 序号技术点名称版本1Flowable6.8.0 使用的是flowable6.8.0 版的代码…

Flink 1.18.1的基本使用

系统示例应用 /usr/local/flink-1.18.1/bin/flink run /usr/local/flies/streaming/SocketWindowWordCount.jar --port 9010nc -l 9010 asd asd sdfsf sdf sdfsdagd sdf单次统计示例工程 cd C:\Dev\IdeaProjectsmvn archetype:generate -DarchetypeGroupIdorg.apache.flink -…

单元测试实践

一、写在开始写单元测试前 1.1 背景 我们开发都知道单元测试的重要性,而且每个开发都有要写单元测试的意识单元测试和代码编写结构息息相关,业界常用专业名词TDD(测试驱动开发),言外之意我们开始编写代码的时候就已经…

开发板——X210开发板的SD卡启动方式

以下内容源于朱有鹏嵌入式课程的学习与整理,如有侵权请告知删除。 参考博客: S5PV210 SD卡启动 - 简书 关于存储器的相关基础知识,见博文: 外存——SD卡/iNand芯片与S5PV210的SD/MMC/iNand控制器-CSDN博客 RAM、ROM和FLASH三…

Qt6入门教程 15:QRadioButton

目录 一.简介 二.常用接口 三.实战演练 1.径向渐变 2.QSS贴图 3.开关效果 4.非互斥 一.简介 QRadioButton控件提供了一个带有文本标签的单选按钮。 QRadioButton是一个可以切换选中(checked)或未选中(unchecked)状态的选项…

Flink 流式读取 Debezium CDC 数据写入 Hudi 表无法处理 -D / Delete 消息

问题场景是:使用 Kafka Connect 的 Debezium MySQL Source Connector 将 MySQL 的 CDC 数据 (Avro 格式)接入到 Kafka 之后,通过 Flink 读取并解析这些 CDC 数据,然后以流式方式写入到 Hudi 表中,测试中发现…

Java Springboot解决很多页面Whitelabel Error Page(404)问题

前言 最近接手了一个前后端一体的项目,发现其默认路径不是主机端口(如:http://localhost:3453/)的形式。很多页面的访问是加了一个层级。只要访问就会出现如下提示: Whitelabel Error Page This application has no …

双目相机立体匹配基础

双目匹配就是用左相机和右相机去拍摄同一个点,目的是找到三维世界的同一个点,也就是在左相机和右相机中的成像点之间的像素差(视差),根据视差去求解深度,那么找到左相机点到右相机的同一个对应点这个过程就…

草图导入3d后模型贴材质的步骤?---模大狮模型网

3D模型在导入草图大师后出现混乱可能有多种原因,以下是一些可能的原因和解决方法: 模型尺寸问题:如果3D模型的尺寸在导入草图大师时与画布尺寸不匹配,可能导致模型混乱。解决方法是在3D建模软件中调整模型的尺寸,使其适…

【NodeJS】005- MongoDB数据库

1.简介 1.1 Mongodb 是什么 MongoDB 是一个基于分布式文件存储的数据库,官方地址 https://www.mongodb.com/ 1.2 数据库是什么 数据库(DataBase)是按照数据结构来组织、存储和管理数据的 应用程序 1.3 数据库的作用 数据库的主要作用就是…

目标检测:1预备知识

开始涉及目标检测内容,总结一下学习记录 1、目标检测的基本概念 (一)什么是目标检测 目标检测(Object Detection) 的任务是找出图像中所有感兴趣的目标(物体),不同于分类和回归问题…

react-virtualized实现行元素不等高的虚拟列表滚动

前言: 当一个页面中需要接受接口返回的全部数据进行页面渲染时间,如果数据量比较庞大,前端在渲染dom的过程中需要花费时间,造成页面经常出现卡顿现象。 需求:通过虚拟加载,优化页面渲染速度 优点&#xff1…

如何批量删除文件名里的多余文字?

如何批量删除文件名里的多余文字?删除文件名中多余的文字可以提高文件管理的效率和可读性。简洁性:删除多余的文字可以使文件名更简洁,减少冗余信息。这样可以更轻松地浏览和识别文件,尤其是当文件数量较多时。可读性:…

tcp/ip模型中,帧是第几层的数据单元?

在网络通信的世界中,TCP/IP模型以其高效和可靠性而著称。这个模型是现代互联网通信的基石,它定义了数据在网络中如何被传输和接收。其中,一个核心的概念是数据单元的层级,特别是“帧”在这个模型中的位置。今天,我们就…

代码随想录day17--二叉树的应用5

LeetCode654.最大二叉树 题目描述: 给定一个不重复的整数数组 nums 。 最大二叉树 可以用下面的算法从 nums 递归地构建: 创建一个根节点,其值为 nums 中的最大值。递归地在最大值 左边 的 子数组前缀上 构建左子树。递归地在最大值 右边 的 子数组后…

后端性能优化的一些总结

目录 1、背景 2、优化实现 2.1查询数据表速度慢 2.2调别人接口速度慢 2.3导入速度慢、 2.4导出速度慢的做出介绍 2.5统计功能速度慢 3、总结 1、背景 系统上线后,被用户反应系统很多功能响应时长很慢。用户页面影响速度有要求,下面针对查询数据表…