时间:2017年04月28日星期五
说明:基于docker技术,使用jpress开源框架搭建个人博客网站。特别感谢jpress开源项目。系统版本:CentOS 7.2-64bit。
步骤一:准备Docker环境
1、服务器安装Docker
安装命令:
yum install –y docker
显示Complate表示安装完成
使用命令:
docker version,查看是否安装完成。
由于docker是C/S模式,因此需要启动docker服务。
使用命令:
service docker start
显示启动成功。
再次使用命令:
docker version,可以看到docker的客户端和服务端都启动了。
2、下载所需镜像
本例中,需要使用mysql和tomcat,我们选择国内网易的镜像库。
打开网易镜像中心:https://c.163.com/hub#/m/home/
下载mysql镜像,搜索mysql镜像。
选择第一个,带有鲸鱼标识的表示为docker官方的镜像
复制下载地址,到linux中执行
下载命令:docker pull hub.c.163.com/library/mysql:latest
下载tomcat镜像与下载mysql镜像一致
下载命令:docker pull hub.c.163.com/library/tomcat:latest
使用命令:docker images,查看已下载的镜像
3、下载所需war包
项目使用jpress开源项目搭建
jpress官网:http://jpress.io/
点击下载
跳转到项目的github页面,点击wars,进入war包下载
再次点击jpress-web-newest.war
点击下载:
下载完成后,使用FTP工具将下载的war包上传至服务器。本例中,将下载的war包上传至/study目录下。
上传完成后,如下所示:
使用mv命令重命令jpress
步骤二:制作Docker镜像
1、编写Dockerfile文件
在/study目录下。使用命令:
vi Dockerfile,创建Dockerfile文件
编写以下代码:
FROM 表示:当前镜像依赖于tomcat镜像
MAINTAINER 表示:镜像创建者
CP 表示:将jpress的war包复制到tomcat的webapps目录下
编写完成后,按esc键,输入英文状态下的冒号和wq保存并退出
2、构建jpress镜像
使用命令:
docker build –t jpress: latest .
构建docker镜像,使用-t参数指定镜像名为jpress,tag为latest。
镜像构建成功,使用docker images查看是否存在
可以看到一个名为jpress的镜像,表示镜像构建成功
步骤三:启动Docker镜像
1、启动mysql镜像
使用命令:
docker run --name bolgmysql -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=youdbpassword -e MYSQL_DATABASE=bolgdb hub.c.163.com/library/mysql
表示:创建一个名为bolgdb的数据库,指定数据库root用户登录密码,进行端口映射,启动mysql数据库。
使用命令:
docker ps,查看正在运行的容器。
使用命令:
netstat –na |grep 3306,查看端口是否被监听
2、启动jpress镜像
使用命令:
docker run –name bolgjpress –d –p 8888:8080 jpress
使用命令:
docker ps,查看正在运行的容器
步骤四:进行验证
1、jpress安装
访问服务器,使用IP+端口号,jpress依赖的tomcat已经启动,并能正常访问。
在端口号后面加上/jpress
第一次访问,需要进行安装。点击下一步,进行数据库配置。将启动mysql镜像时配置的数据库名称、端口、用户名和密码,一一对应填写。
注:数据库主机须填写服务器的IP地址,内网或外网都可以。使用ifconfig命令查看本机IP。
安装成功,填写jpress管理账号,并点击完成。
重启jpress容器,使用命令docker ps查看正在运行的容器
docker常用命令
docker stop 容器ID,停止容器。
docker restart 容器ID,重启容器。
docker start 容器ID,启动容器。
docker rm 容器ID,删除容器。
2、jpress管理
再次访问,页面如下
访问管理界面,并输入jpress安装时,配置的管理员账号
至此,个人博客网站就安装完成了。快去试一试吧,搭建自己的博客网站。
本文转自作者妙手空空:
参考:https://segmentfault.com/a/1190000009237581#articleHeader8