腾讯云docker部署hola博客及myql数据库笔记
halo官网,一款现代化的开源博客/CMS系统,值得一试
1.安装docker
2.安装mysql
1.拉取mysql镜像
docker pull mysql:8.0.27//拉取镜像 更改版本号拉取自己想要版本
#查看下载镜像
docker images
2.运行mysql
1.建立halo网络
docker network create halo-net
2.docker运行数据库并挂载
#创建数据挂载目录
mkdir /usr/local/mysql
#运行mysql并设置默认密码
#-p 3306:3306容器内端口映射这里容器3306接口映射到宿主机3306
#--name mysql 容器名
#-v 挂载容器MySQL数据目录到本地
#-e MYSQL_ROOT_PASSWORD=root配置数据库默认密码
#-d 指定镜像
docker run -p 3306:3306 --name mysql -v /usr/local/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=password --net halo-net -d mysql:8.0.27
#运行成功,查看运行的容器
docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5685c694bf3e mysql:8.0.27 "docker-entrypoint.s…" 3 minutes ago Up 3 minutes 33060/tcp, 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp mysql8
3.创建数据库
1.命令行创建
#进入mysql容器
docker exec -it mysql8 /bin/bash
#登录mysq
mysql -uroot -p你的密码
#创建数据库
create database halodb character set utf8mb4 collate utf8mb4_bin;
#退出mysql;
exit;
#退出docker;
exit;
2.navicat连接数据库
使用navicat连接数据库,并创建
1.需要开放数据库端口,服务器防火墙以及云服务器防火墙
2.可能需要登录问题:Authentication plugin ‘caching_sha2_password’ cannot be loaded,解决方法
#进入容器,本地mysql可忽略
docker exec -it mysql /bin/bash
#登录mysql
mysql -uroot -p密码
#更改远程访问密码规则( 'root'@'localhost'只更改本地访问密码,远程依旧报错 )
alter user 'root'@'%' identified with mysql_native_password by 'password';
#navicat连接成功
4.halo部署
1.建立项目目录,下载halo配置信息并修改
#建立项目目录
mkdir /usr/local/halo
cd /usr/local/halo
#下载配置文件
wget https://dl.halo.run/config/application-template.yaml -O ./application.yaml
#编辑配置文件
vim application.yaml
2.如图更改yml文件配置
3. docker运行halo
docker run -it -d --name halo -p 8090:8090 -v /usr/local/halo:/root/.halo --net halo-net --restart=unless-stopped halohub/halo:1.5.0
4. 服务器放行端口
服务器放行端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --zone=public --add-port=8089/tcp --permanent
腾讯云防火墙放行端口
#部署完毕
浏览器http://ip:8090/访问博客,http://ip:8090/admin访问后台