正常情况,生产环境有可能是离线环境,那么就先按照《CentOS7离线环境安装Docker-CE各种版本》一文进行安装docker
上传或把各应用的镜像到服务器上,所需镜像我打包放在档案管理部署.zip解压后的档案管理部署/镜像/目录下
可以看到,jw-mysql的镜像已经加载出来了,下面就开始运行mysql容器了
解释一下:
- –restart=always 总是启动,相当于开机自动重启
- –name jw-mysql 代表容器的名称,方便后续的操作
- -p 3306:3306 代表端口映射,格式为 宿主机映射端口:容器运行端口
- -v /apps/mysql/mysql.conf.d:/etc/mysql/mysql.conf.d 映射mysql配置文件所在目录,方便后期修改配置文件
- –privileged=true 因为如果CentOS7中的安全模块selinux把权限禁掉了,我们需要添加这个参数来解决挂载目录没有权限的问题
- -e MYSQL_ROOT_PASSWORD=你的数据库密码 代表添加环境变量MYSQL_ROOT_PASSWORD是root用户的登陆密码
验证一下:
至此,mysql在docker中的部署已经成功!
修改Jaf系统对应的MySQL数据库配置,对应jaf系统中的配置文件application.properties,该文件在/jaf/src/main/resources/filters/对应模块文件夹/application.properties、/jaf/src/main/resources/application.properties 两处,都需要修改配置,如下图
vsftp和nginx、rsync封装到了一起,所以,现在开始加载ftp和nginx的镜像jw-ftp
可以看到,jw-ftp的镜像已经加载出来了,下面就开始运行jw-ftp容器了
解释一下:
- –restart=always 总是启动,相当于开机自动重启
- –name jw-ftp 代表容器的名称,方便后续的操作
- -p 80:80 代表端口映射,格式为 宿主机映射端口:容器运行端口,这里映射的是nginx默认的端口号80
- -p 20020:20 这里映射的是vsftp 的端口号20到20020 我这边本机的20端口已被占用,所以映射到20020
- -p 20021:21 这里映射的是vsftp 的端口号21到20021 我这边本机的20端口已被占用,所以映射到20021
- -p 21100-21110:21100-21110 映射的是被动模式下端口使用范围
- -v /home/vsftpd:/home/vsftpd 进行文件目录的映射 FTP_UESR 和FTP_PASS如果设定了会在container里面的/vsftpd/virtual_users.txt
- –privileged=true 因为如果CentOS7中的安全模块selinux把权限禁掉了,我们需要添加这个参数来解决挂载目录没有权限的问题
- -e FTP_USER=jw -e代表配置环境变量,这里是设置FTP的用户名
- -e FTP_PASS=jw2019 -e代表配置环境变量,这里是设置FTP的密码
- PASV_ADDRESS指的的宿主机的IP地址
还没完,进入jw-ftp容器中
修改nginx配置
重启nginx服务器,先进入/etc/nginx目录,执行,校验一下
验证一下:我使用的FileZilla软件+Chrome浏览器测试
我们打开浏览器看看,可以看到ftp部署成功
同步服务:
查看是否安装了rsync,默认我们的镜像是封装了rsync,这里做个确认
后续的同步服务未完善,待续……
至此,文件服务器也部署成功
修改Jaf档案系统中对应的FTP配置,对应jaf系统中的配置文件application.properties,该文件在/jaf/src/main/resources/filters/对应模块文件夹/application.properties、/jaf/src/main/resources/application.properties 两处,都需要修改配置,如下图
es比较大,加载过程比较慢,耐心等待
可以看到,es-ik和es-head的镜像已经加载出来了,下面就开始运行这两个容器
解释一下:
- –restart=always 总是启动,相当于开机自动重启
- –name es-ik 代表容器的名称,方便后续的操作
- –name es-head 代表容器的名称,方便后续的操作
- -p 9100:9100 代表端口映射,格式为 宿主机映射端口:容器运行端口
- -e “discovery.type=single-node” 环境配置,单节点模式
验证一下:
在本机浏览器输入http://IP:9100,如果出现如下图信息表示成功,否则检查一下防火墙是否打开了或者端口号没开放,在主机上curl IP:9100检查宿主机上是否可以,否则删除原来的容器,重新创建容器再试试
至此,搜索引擎部署成功!
修改Jaf档案系统中对应的ES配置,对应jaf系统中的配置文件application.properties,该文件在/jaf/src/main/resources/filters/对应模块文件夹/application.properties、/jaf/src/main/resources/application.properties 两处,都需要修改配置,如下图
前期准备
- 一台服务器,装好Docker
- 下载GeoWebCache最新版war包 地址
- 下载瓦片 下载教程
如图:GeoWebCache.war、瓦片包,这里可以用我给大家准备的,下载地址 点我 ,当然,你可以自己去官网下载,本教程编写时最新版本是:1.15.2版本
瓦片包解压出来是这样的:
部署
加载Tomcat镜像
运行gwc容器
解释一下:
- –restart=always 总是启动,相当于开机自动重启
- –name gwc 代表容器的名称,方便后续的操作
- -p 9001:8080 代表端口映射,格式为 宿主机映射端口:容器运行端口,这里映射的是tomcat默认的端口号8080
- -v /apps/jack/webapps:/usr/local/tomcat/webapps 进行war包存放路径的映射
- -v /apps/jack/map:/usr/map 后续cache、defaultCache、layers三个目录存放位置映射
- -v /apps/jack/temp/geowebcache:/usr/local/tomcat/temp/geowebcache geowebcache.xml配置文件存放位置,方便后续操作
- –privileged=true 因为如果CentOS7中的安全模块selinux把权限禁掉了,我们需要添加这个参数来解决挂载目录没有权限的问题
将资料包上传到服务器
将war包拷贝到webapps下(/apps/jack/webapps/)
重启gwc容器
在本地浏览器输入地址:http://192.168.142.128:9001/geowebcache 访问,如下图,成功了
配置文件
在开始配置文件之前,先停掉gwc容器
进入webapps,删除.war包,删除之前确认已经停掉gwc容器
进入项目目录WEB-INF
在文件最后增加如下红框内容,标签内容指向的是要映射的缓存路径,修改完成,保存
红框内容:
修改第三个配置文件 这个文件就在上图第二步中value内容所在路径下,因为我们映射出来了,所以进入 /apps/jack/temp/geowebcache/ 这个目录根据自己映射的路径去进入
修改 文件
删除最后面标签内的所有内容,替换成如下红框的内容,保存
红框内容:
OK,配置文件都修改完成,重启gwc容器
出现如下图,表示成功了一半,嘿嘿嘿
写了个Demo测试是否部署成功!
修改demo目录下index.html中的这一行,如图红框中,ip:端口号(你的gwc访问)
修改Jaf系统对应的地图,对应jaf系统中的配置文件application.properties,该文件在/jaf/src/main/resources/filters/对应模块文件夹/application.properties、/jaf/src/main/resources/application.properties 两处,都需要修改配置,如下图
先将java:8镜像加载出来
根据以上部署的应用,配置好jaf项目中的配置信息,然后打包成jar包,上传到服务器上
在jar包所在目录下,创建Dockerfile文件
并添加如下内容
解释一下:
- FROM 格式为FROM image或FROM image:tag,并且Dockerfile中第一条指令必须是FROM指令,且在同一个Dockerfile中创建多个镜像时,可以使用多个FROM指令。
- java:8 是使用jdk版本
- MAINTAINER 格式为MAINTAINER user_name user_email,指定维护者信息
- VOLUME 格式为 VOLUME [“/data”] 作用是创建在本地主机或其他容器可以挂载的数据卷,用来存放数据。
- ADD 格式:ADD src dest 该命令将复制指定本地目录中的文件到容器中的dest中,src可以是是一个绝对路径,也可以是一个URL或一个tar文件,tar文件会自动解压为目录,这里我们放的是跟Dockerfile同一目录的jar包
- jaf-0.0.2-SNAPSHOT.jar是使用jar包名称
- ADD jaf-0.0.2-SNAPSHOT.jar /jaf.jar 拷贝jar到容器
- ENTRYPOINT 格式有两种:
ENTRYPOINT [“executable”,“param1”,“param2”]
ENTRYPOINT command param1,param2 会在shell中执行。
用于配置容器启动后执行的命令,这些命令不能被docker run提供的参数覆盖。和CMD一样,每个Dockerfile中只能有一个ENTRYPOINT,当有多个时最后一个生效
生成镜像:
:jaf是生成的镜像名称,最后面的表示当前路径
运行容器:
解释一下:
- –restart=always 总是启动,相当于开机自动重启
- -p 8080:8080 代表端口映射,格式为 宿主机映射端口:容器运行端口
- –name jaf 代表容器的名称,方便后续的操作
- -v /var/logs:/var/logs 映射jaf项目的日志文件所在目录,方便在宿主机查看日志
最后,验证一下:在浏览器输入你docker所在宿主机的IP:映射出来的端口号(我的是8080)访问出现如下图表示成功