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

一、环境准备

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.reposed -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/themescd /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/containercd /docker/containerdocker 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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【RTP】webrtc 学习3: webrtc对h264的rtp解包

rtp_rtcp\source\video_rtp_depacketizer_h264.cc【RTP】webrtc 学习2: webrtc对h264的rtp打包 中分析了打包过程的代码,这样再来看解析过程的源码就容易多了:本代码主要基于m79,m98类似。这里注明了jitterbuffer 会再次 做 解析stap-a 变为NAL units解析ParseFuaNalu 第一…

ACL、VLAN、NAT笔记

一、ACL ---访问控制列表 1.ACL的作用 1,访问控制:在路由器流量流入或流出的接口上,匹配流量,然后 执行设定好的动作。 ---- permit 允许 , deny 拒绝 2,抓取感兴趣流:ACL可以和其他服务结合使用。ACL只…

MyBatis 如何整合 Druid 连接池?

Mybatis 如何整合 Druid 数据连接池呢&#xff1f;首先打开创建的 Maven 工程&#xff0c;找到 pom.xml 文件&#xff0c;添加 Druid 依赖。 <!--druid连接池--> <dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId&…

【C语言】数组的应用:三子棋游戏

由于代码较长&#xff0c;为了增加可读性&#xff0c;我们把代码分别写到game.h&#xff0c;game.c&#xff0c;test.c&#xff0c;里面&#xff0c;其中game.h用来声明函数&#xff0c;实现函数功能的代码在game.c&#xff0c;测试游戏的代码在test.c 为了方便后续的更改&…

ThreadLocal学习笔记

ThreadLocal类图 ThreadLocal/InheritableThreadLocal/ \TransmittableThreadLocal(阿里巴巴) TransmissibleThreadLocal(阿里巴巴)ThreadLocal 这是Thread类的局部变量&#xff0c;每个线程私有。 它主要用于解决多线程中的数据共享问题&#xff0c;保…

k8s 版本发布与回滚

一、实验环境准备&#xff1a; kubectl get pods -o wide kubectl get nodes -o wide kubectl get svc 准备两个nginx镜像&#xff0c;版本号一个是V3&#xff0c;一个是V4 二、准备一个nginx.yaml文件 apiVersion: apps/v1 kind: Deployment metadata:name: nginx-deploylab…

翻译: GPT-4 Vision静态图表转换为动态数据可视化 升级Streamlit 三

GPT-4 Vision 系列: 翻译: GPT-4 with Vision 升级 Streamlit 应用程序的 7 种方式一翻译: GPT-4 with Vision 升级 Streamlit 应用程序的 7 种方式二 1. 将任何静态图表转换为动态数据可视化 ChatGPT Vision 不仅可以将涂鸦变成功能齐全的 Streamlit 应用程序&#xff0c;还…

SpringBoot整合nacos的入门Demo

Nacos介绍 Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service的首字母简称&#xff0c;一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。 Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集&#xff0c;帮助您快速…

操作系统(6)----线程相关

目录 1.线程与进程的关系 2.线程的属性 3.线程的实现方式 用户级线程 内核级线程 多线程模型 一对一模型: 多对一模型&#xff1a; 多对多模型&#xff1a; 4.线程的状态和转换 5.线程的组织与控制 1.线程与进程的关系 可以把线程理解为“轻量级进程”。线程是一个…

大创项目推荐 题目:基于卷积神经网络的手写字符识别 - 深度学习

文章目录 0 前言1 简介2 LeNet-5 模型的介绍2.1 结构解析2.2 C1层2.3 S2层S2层和C3层连接 2.4 F6与C5层 3 写数字识别算法模型的构建3.1 输入层设计3.2 激活函数的选取3.3 卷积层设计3.4 降采样层3.5 输出层设计 4 网络模型的总体结构5 部分实现代码6 在线手写识别7 最后 0 前言…

【Spring实战】31 Spring Boot3 集成 Gateway 微服务网关

文章目录 1. 定义2. 功能3. 示例代码1) 创建一个业务服务2&#xff09;创建一个网关服务3&#xff09;启动服务4&#xff09;验证 4. 代码参考结语 1. 定义 Spring Cloud Gateway 是一个基于 Spring Framework 的开源网关服务&#xff0c;用于构建微服务架构中的 API 网关。它…

C51 单片机学习(一):基础外设

参考 51单片机入门教程 1. 单片机简介 1.1 定义 单片机&#xff08;Micro Controller Unit&#xff0c;简称 MCU&#xff09; 内部集成了 CPU、RAM、ROM、定时器、中断系统、通讯接口等一系列电脑的常用硬件功能单片机的任务是信息采集&#xff08;依靠传感器&#xff09;、处…

休息日的思考与额外题——链表

文章目录 前言链表知识点 一、 92. 反转链表 II二、21. 合并两个有序链表总结 前言 一个本硕双非的小菜鸡&#xff0c;备战24年秋招&#xff0c;计划二刷完卡子哥的刷题计划&#xff0c;加油&#xff01; 二刷决定精刷了&#xff0c;于是参加了卡子哥的刷题班&#xff0c;训练…

富文本编辑器CKEditor4简单使用-01

富文本编辑器CKEditor4简单使用-01 1. 快速体验入门1.1 通过从 CDN 加载 CKEditor 来快速体验1.2 从官方网站下载软件包1.2.1 官网下载1.2.2 解压、简单使用&#xff08;自带index页面示例&#xff09;1.2.3 将 CKEditor 4 添加到自己的页面1.2.3.1 目录结构1.2.3.2 效果1.2.3.…

TensorFlow2实战-系列教程6:迁移学习实战

&#x1f9e1;&#x1f49b;&#x1f49a;TensorFlow2实战-系列教程 总目录 有任何问题欢迎在下面留言 本篇文章的代码运行界面均在Jupyter Notebook中进行 本篇文章配套的代码资源已经上传 1、迁移学习 用已经训练好模型的权重参数当做自己任务的模型权重初始化一般全连接层需…

【机器学习】工程实践问题概述

机器学习实际应用时的工程问题与面临的挑战 一、实现细节问题 1.1 训练样本 训练样本与标注对各类机器学习算法和模型的精度影响 训练样本的选择对各类机器学习算法和模型的影响 训练样本的优化 如何进行数据增强&#xff1f; 如何进行数据清洗&#xff1f; 样本的标注对各类机…

数据结构(二)------单链表

制作不易&#xff0c;三连支持一下呗&#xff01;&#xff01;&#xff01; 文章目录 前言一.什么是链表二.链表的分类三.单链表的实现总结 前言 上一节&#xff0c;我们介绍了顺序表的实现与一些经典算法。 但是顺序表这个数据结构依然有不少缺陷&#xff1a; 1.顺序表指定…

导航页配置服务Dashy本地部署并实现公网远程访问

文章目录 简介1. 安装Dashy2. 安装cpolar3.配置公网访问地址4. 固定域名访问 简介 Dashy 是一个开源的自托管的导航页配置服务&#xff0c;具有易于使用的可视化编辑器、状态检查、小工具和主题等功能。你可以将自己常用的一些网站聚合起来放在一起&#xff0c;形成自己的导航…

基于springboot宠物领养系统

摘要 随着社会的不断发展和人们生活水平的提高&#xff0c;宠物在家庭中的地位逐渐上升&#xff0c;宠物领养成为一种流行的社会现象。为了更好地管理和促进宠物领养的过程&#xff0c;本文基于Spring Boot框架设计和实现了一套宠物领养系统。该系统以用户友好的界面为特点&…

时序分析中的去趋势化方法

时序分析中的去趋势化方法 时序分析是研究随时间变化的数据模式的一门学科。在时序数据中&#xff0c;趋势是一种随着时间推移而呈现的长期变化趋势&#xff0c;去趋势化是为了消除或减弱这种趋势&#xff0c;使数据更具平稳性。本文将简单介绍时序分析中常用的去趋势化方法&a…