部署前说明: 之前我们直接在虚拟上搭建过zrlog,原理很简单,就是在tomcat上安装zrlog应用,当然博客要存储,就需要数据库。 这次我们数据库和tomcat都采用docker形式部署,zrlog直接提前构建进tomcat 容器里,docker mysql 启动后,再进容器用脚本创建zrlog 数据库和用户。

环境配置: 1 win10 主机 2 vmware版本 12.0.1 build-3160714 3 虚拟机系统 CentOS Linux release 7.4.1708 (Core 4 虚拟ip: 192.168.179.131 5 docker版本 Docker version 20.10.2, build 2291f61

一 docker 部署mysql

1 拉取镜像 docker pull mysql:5.7.26

2 docker 启动mysql docker run -p 3306:3306 --name mysql01 -v /mysql/conf:/etc/mysql -v /mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.26

备注: MYSQL_ROOT_PASSWORD=123456 给mysql root 用户设置了初始密码

3 创建zrlog数据库,并给zrlog用户授权。 将create_mysql_user.sh 脚本拷贝到容器中执行

docker cp create_mysql_user.sh mysql01:./
docker exec -it mysql01 bash create_mysql_user.sh

create_mysql_user.sh 脚本内容如下:

#!/bin/bash
mysql -uroot -p123456 << EOF
create database zrlog;
grant all on zrlog.* to 'zrlog'@'%' identified by 'lvlinux';
FLUSH PRIVILEGES;
EOF

二 docker 部署tomcat_with_zrlog 1 准备tomcat_with_zrlog Dockerfile Dockerfile 如下:

FROM tomcat
RUN mv webapps.dist webapps
COPY zrlog.war /usr/local/tomcat/webapps/
COPY server.xml /usr/local/tomcat/conf/
ENTRYPOINT sh ./bin/startup.sh && tail -f /dev/null

zrlog 下载地址: wget http://dl.zrlog.com/release/zrlog-1.7.1-baaecb9-release.war 提前准备好server.xml文件,改文件更改了访问端口,添加了通过域名访问的host的配置

</Host>
      <Host name="www.zrlog.cn" appBase=""
       unpackWARs= "true" autoDeploy="true"
       xmlValidation="false" xmlNamespaceAware="false">
       <Context path="" docBase="/data/wwwroot/zrlog/" debug="0" reloadable="true" crossContext="true"/>
</Host>

2 启动

sh start_tomcat.sh

[root@lvlinux131 script]# cat start_tomcat.sh

#/bin/bash
docker run -itd -v /data/wwwroot/zrlog/:/data/wwwroot/zrlog/ -v /conf/:/zrlog/conf/ -p 80:80 --name tomcat_zrlog  tomcat_03 bash
pipework br0  tomcat_zrlog 192.168.179.140/24@192.168.179.2

备注: pipework br0 tomcat_zrlog 192.168.179.140/24@192.168.179.2 是给容器里 添加桥接网络的ip,192.168.179.140 与虚机是同一个子网 docker 配置桥接网络及安装pipwork 见博客 https://blog.51cto.com/12606610/2147696

三 安装zrlog 1 win10 浏览器访问: 192.168.179.140/zrlog/install

2 更改数据库服务器IP为虚拟机ip 192.168.179.131 更改数据库用户名为zrlog,密码为lvlinux,该信息来自数据库授权脚本create_mysql_user.sh

3 填写管理员密码和网站标题,点击下一步完成安装

4 配置域名访问 本机配置dns

windos 配置hosts 192.168.179.140 www.zrlog.cn

拷贝zrlog项目到域名解析的目录 docker cp tomcat_zrlog:/usr/local/tomcat/webapps/zrlog /data/wwwroot/ 浏览器用域名访问 www.zrlog.cn