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

news2024/10/7 16:24:43

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.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

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

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

相关文章

Spring Boot3,启动时间缩短 10 倍!

前面松哥写了一篇文章和大家聊了 Spring6 中引入的新玩意 AOT(见Spring Boot3 新玩法,AOT 优化!)。 文章发出来之后,有小伙伴问松哥有没有做性能比较,老实说,这个给落下了,所以今天…

oracle错误:The Network Adapter could not establish the connection

执行请求的操作时遇到错误: IO 错误: The Network Adapter could not establish the connection (CONNECTION_IDU34sFBqOSayf4o4C6pwQ6A) 供应商代码 17002 原因: 错误代码 17002 表示 Oracle 数据库客户端遇到了网络适配器无法建立连接的问题 解决办法&#x…

鸿蒙harmony--TypeScript基础语法

把青春献给身后那座辉煌的都市,为了这个美梦我们付出着代价 目录 一,基础类型 二,数组 三,any 四,变量的类型注释 五,函数 5.1 参数类型注解 5.2 返回类型注解 5.3 匿名函数 六,对象类型 可选属…

网络的基础

协议分层: 为什么会协议分层? 问题本身是分层的 不断进行封装,低耦合 对应的网络协议栈与操作系统有什么关系? 其中五层协议中最重要的传输层和网络层就是操作系统中的板块。 网络通信的本质: 贯穿协议栈的过程。…

ElementUI Form:Checkbox 多选框

ElementUI安装与使用指南 Checkbox 多选框 点击下载learnelementuispringboot项目源码 效果图 el-checkbox.vue 页面效果图 项目里el-checkbox.vue代码 <script> const cityOptions [上海, 北京, 广州, 深圳] export default {name: el_checkbox,data() {return …

java之mybatis入门

大前题 正确创建好了springboot工程&#xff0c;极其依赖 配置数据库连接 application.yml spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/cangqiongusername: rootpassword: rootlombok Data 自动生成代码&#xff08…

springboot 个人网盘系统 java web网盘文件分享系统 web在线云盘

springboot 个人网盘系统 java web网盘文件分享系统 web在线云盘 开发工具&#xff1a;Eclipse/idea Java开发环境&#xff1a;JDK8.0 Web服务器:Tomcate9.0。 数据库&#xff1a;MySQL数据库。 技术框架&#xff1a;Struts2SpringHibernate和JSP 有详细的源码&#xff0…

【C++】构造函数和析构函数详解

目录 前言 类中的六个默认成员函数 构造函数 概念 特性 析构函数 概念 特性&#xff1a; 前言 类中的六个默认成员函数 如果一个类中什么成员都没有&#xff0c;简称为空类。 空类中真的什么都没有吗&#xff1f;并不是&#xff0c;任何类在什么都不写时&#xff0c;编…

在Excel把两个单元格的内容,合并后显示在第三个单元格

在Excel中&#xff0c;将两个单元格的内容合并显示到第三个单元格有几种方法&#xff1a; 1. 使用 CONCATENATE 函数&#xff08;在较早版本的 Excel 中&#xff09;&#xff1a; 在目标单元格&#xff08;例如 C1&#xff09;中输入以下公式&#xff1a; CONCATENATE(A…

Linux实验记录:远程控制服务

前言&#xff1a; 本文是一篇关于Linux系统初学者的实验记录。 参考书籍&#xff1a;《Linux就该这么学》 实验环境&#xff1a; VmwareWorkStation 17——虚拟机软件 RedHatEnterpriseLinux[RHEL]8——红帽操作系统 备注&#xff1a; SSH&#xff08;Secure Shell&…

晶体塑性有限元 Abaqus 三维泰森多边形(voronoi模型)插件 V8.0

更多内容见公众号“320科技工作室”&#xff0c;有需要欢迎通过公众号联系我们。

跨境电商展-2024广州跨境电商展览会(ICBE China 2024)

ICBE2024第11届广州国际跨境电商交易博览会&#xff0c;作为华南地区最具影响力的跨境电商展览会&#xff0c;将再次于2024年5月15-17日在广州保利世贸展览馆盛大举行。此次展会以“创新、合作、共赢”为主题&#xff0c;汇聚了来自全球各地的跨境电商企业、平台、服务商等&…

怎么把几百M大小的视频做成二维码?扫码播放视频在线教程

怎么把几百M大小的视频做成一个二维码展示呢&#xff1f;通过二维码来作为视频的载体是现在很常用的一种手段&#xff0c;通过这种方式不仅成本比较低&#xff0c;而且传播速度也比较快&#xff0c;通过访问云端数据就可以播放视频。 视频二维码生成的方法一般会通过二维码生成…

箱形图之美:Pyecharts库的高级参数解析与炫酷样式实践

Pyecharts绘制多种炫酷箱形图参数说明代码实战 引言 箱形图&#xff08;Box Plot&#xff09;&#xff0c;又称为盒须图&#xff0c;是一种用于显示一组数据分布情况的统计图表。Pyecharts是一个基于Echarts的Python库&#xff0c;可以轻松地绘制各种交互式图表&#xff0c;包…

bat脚本:批量生成创建数据库的SQL语句

需求来源&#xff1a;使用 Navicat等数据库工具点击“转储SQL文件”会生成一个 xxx.sql 的文件&#xff0c;xxx是导出的数据库名。导出的数据库多了&#xff0c;就会一次性生成很多这样的SQL文件&#xff0c;所以需要写个脚本根据这些SQL脚本文件来批量生成创建数据库的SQL语句…

细谈Java的String类

目录 1. 创建对象的思考 2. 字符串常量池&#xff08;StringTable&#xff09; 3. intern方法 1. 创建对象的思考 下面两种创建String对象的方式相同吗&#xff1f; public static void main(String[] args) {String s1 "hello";String s2 "hello";St…

【数据结构 03】循环队列

一、原理 循环队列从功能角度具有队列的性质&#xff0c;即遵从先进先出原则&#xff0c;但是其存储方式是顺序存储。 循环队列的存储空间大小通常都是固定的&#xff0c;通过前指针和尾指针的移动控制循环队列数据的增删。 特征&#xff1a;顺序存储、先进先出、容量有限&a…

docker打包python镜像全教程

1.目录结构如下 2.使用dockfile安装&#xff1a; FROM python:3.7.7 ADD ./pdf_reader /code # 设置code文件夹是工作目录 WORKDIR /code # 安装支持 RUN pip install -r requirements.txt CMD ["python3", "Api.py"]dockfile最好在linux系统上创建&am…

网络原理-TCP_IP(2)

TCP协议 TCP全称为"传输控制协议(Transmission Control Protocol)".协议如其名,要对数据的传输进行一个详细的控制. TCP协议段格式 源/目的端口号:表示数据从哪个进程来,到哪个进程去. 32位序号/32位确认序号:后面详细讲. 4位TCP报头长度:表示该TCP头部有多少个32位…

恒创科技:云服务器公网带宽选择多少合适?有计算公式吗?

随着云计算技术的不断发展&#xff0c;越来越多的企业和个人选择使用云服务器来部署应用和存储数据。而在选择云服务器时&#xff0c;公网带宽是一个重要的参数&#xff0c;它直接影响到服务器的网络性能和数据传输速度。 公网带宽是指云服务器在互联网上的数据传输速率&#x…