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

2024-02-01 23:20

本文主要是介绍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.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 endl 本文章下载链接

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

这篇关于Linux下Docker搭建部署Typecho博客【详细版】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/668797

相关文章

nginx -t、nginx -s stop 和 nginx -s reload 命令的详细解析(结合应用场景)

《nginx-t、nginx-sstop和nginx-sreload命令的详细解析(结合应用场景)》本文解析Nginx的-t、-sstop、-sreload命令,分别用于配置语法检... 以下是关于 nginx -t、nginx -s stop 和 nginx -s reload 命令的详细解析,结合实际应

Spring boot整合dubbo+zookeeper的详细过程

《Springboot整合dubbo+zookeeper的详细过程》本文讲解SpringBoot整合Dubbo与Zookeeper实现API、Provider、Consumer模式,包含依赖配置、... 目录Spring boot整合dubbo+zookeeper1.创建父工程2.父工程引入依赖3.创建ap

Linux线程之线程的创建、属性、回收、退出、取消方式

《Linux线程之线程的创建、属性、回收、退出、取消方式》文章总结了线程管理核心知识:线程号唯一、创建方式、属性设置(如分离状态与栈大小)、回收机制(join/detach)、退出方法(返回/pthr... 目录1. 线程号2. 线程的创建3. 线程属性4. 线程的回收5. 线程的退出6. 线程的取消7.

Linux下进程的CPU配置与线程绑定过程

《Linux下进程的CPU配置与线程绑定过程》本文介绍Linux系统中基于进程和线程的CPU配置方法,通过taskset命令和pthread库调整亲和力,将进程/线程绑定到特定CPU核心以优化资源分配... 目录1 基于进程的CPU配置1.1 对CPU亲和力的配置1.2 绑定进程到指定CPU核上运行2 基于

SpringBoot结合Docker进行容器化处理指南

《SpringBoot结合Docker进行容器化处理指南》在当今快速发展的软件工程领域,SpringBoot和Docker已经成为现代Java开发者的必备工具,本文将深入讲解如何将一个SpringBo... 目录前言一、为什么选择 Spring Bootjavascript + docker1. 快速部署与

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

Linux下删除乱码文件和目录的实现方式

《Linux下删除乱码文件和目录的实现方式》:本文主要介绍Linux下删除乱码文件和目录的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux下删除乱码文件和目录方法1方法2总结Linux下删除乱码文件和目录方法1使用ls -i命令找到文件或目录

Spring Boot集成Druid实现数据源管理与监控的详细步骤

《SpringBoot集成Druid实现数据源管理与监控的详细步骤》本文介绍如何在SpringBoot项目中集成Druid数据库连接池,包括环境搭建、Maven依赖配置、SpringBoot配置文件... 目录1. 引言1.1 环境准备1.2 Druid介绍2. 配置Druid连接池3. 查看Druid监控

Linux在线解压jar包的实现方式

《Linux在线解压jar包的实现方式》:本文主要介绍Linux在线解压jar包的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux在线解压jar包解压 jar包的步骤总结Linux在线解压jar包在 Centos 中解压 jar 包可以使用 u

创建Java keystore文件的完整指南及详细步骤

《创建Javakeystore文件的完整指南及详细步骤》本文详解Java中keystore的创建与配置,涵盖私钥管理、自签名与CA证书生成、SSL/TLS应用,强调安全存储及验证机制,确保通信加密和... 目录1. 秘密键(私钥)的理解与管理私钥的定义与重要性私钥的管理策略私钥的生成与存储2. 证书的创建与