翼度科技»论坛 云主机 服务器技术 查看内容

docker安装geoserver的方法步骤

6

主题

6

帖子

18

积分

新手上路

Rank: 1

积分
18
一、准备工作
  1. # 获取最新镜像
  2. docker pull kartoza/geoserver
复制代码
  1. #创建数据持久化目录
  2. /usr/local/application/geoserver/data_dir

  3. #授权
  4. chmod 777 -R /usr/local/application/
复制代码
二、创建容器
  1. docker run \
  2. --name geoserver \
  3. -d \
  4. -p 8090:8080 \
  5. --restart always \
  6. -e GEOSERVER_ADMIN_USER=admin \
  7. -e GEOSERVER_ADMIN_PASSWORD=geoserver \
  8. -e GEOSERVER_DATA_DIR=/opt/geoserver/data_dir \
  9. -v /usr/local/application/geoserver/data_dir:/opt/geoserver/data_dir \
  10. kartoza/geoserver
复制代码
容器启动后,在浏览器中访问 服务器ip:8090/geoserver,访问成功效果如下


三、安装插件

​ 如果通过docker部署的geoserver中缺失部分插件(mysql 等),那么可以去官网下载对应版本的插件,再将插件解压到
  1. geoserver/WEB-INF/lib
复制代码
目录下,重启容器,即可实现插件加载。

3.1 插件下载

​ 到官方插件下载地址,确定自己GeoServer的版本,找到插件列表中对应插件(例如MySQL)即可下载

下载完成后,解压缩,将jar文件拷贝到GeoServer/WEB-INF/lib中



3.2 将插件拷贝进容器

​ 将下载的插件解压后,可以看到对应的jar包。然后将插件所有jar包,拷贝进插件默认安装目录下即可。可以通过
  1. find
复制代码
命令,查找
  1. WEB-INF
复制代码
关键字所在目录
  1. find . -type d -name WEB-INF
复制代码
  1. find: ‘./etc/ssl/private': Permission denied
  2. find: ‘./proc/tty/driver': Permission denied
  3. find: ‘./proc/1/map_files': Operation not permitted
  4. find: ‘./proc/8442/map_files': Operation not permitted
  5. find: ‘./proc/8465/map_files': Operation not permitted
  6. find: ‘./root': Permission denied
  7. ./usr/local/tomcat/webapps/geoserver/WEB-INF
  8. ./usr/local/tomcat/webapps/ROOT/WEB-INF
  9. ./usr/local/tomcat/webapps/docs/WEB-INF
  10. ./usr/local/tomcat/webapps/docs/appdev/sample/web/WEB-INF
  11. ./usr/local/tomcat/webapps/examples/WEB-INF
  12. ./usr/local/tomcat/webapps/host-manager/WEB-INF
  13. ./usr/local/tomcat/webapps/manager/WEB-INF
  14. find: ‘./var/cache/apt/archives/partial': Permission denied
  15. find: ‘./var/cache/ldconfig': Permission denied
复制代码
从上述查找结果中,看到
  1. /usr/local/tomcat/webapps/geoserver/WEB-INF
复制代码
目录,即为geoserver部署主要目录。接下来只需要将插件拷贝进该目录下的lib 目录即可。
  1. #通过docker cp 命令,将宿主机上文件拷贝进容器。
  2. docker cp /宿主机目录/插件jar 容器id:/usr/local/tomcat/webapps/geoserver/WEB-INF/lib
复制代码
3.3 创建新镜像

​ 容器安装完插件后,可以基于容器,创建新镜像,后期基于该镜像创建的容器,都将拥有该插件。
  1. #语法 docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
  2. OPTIONS说明:
  3. -a :提交的镜像作者;
  4. -c :使用Dockerfile指令来创建镜像;
  5. -m :提交时的说明文字;
  6. -p :在commit时,将容器暂停。

  7. #基于容器e218edb10161,生成新镜像runoob/ubuntu:v2
  8. runoob@runoob:~$ docker commit -m="has update" -a="lifp" e218edb10161 runoob/ubuntu:v2
复制代码
四、配置 nginx 代理

​ 如果nginx部署在内网服务器,若有互联网ip或者域名,可以用来配置代理的话,那么可以进行如下配置。假如现有域名 www.test.com,该域名80端口已映射到某台机器的端口,那么在该端口所在nginx中,可以进行如下配置,来实现,通过访问 http://www.test.com/geoserver 连接,可以直接访问到内网服务器10.15.11.18 中部署的geoserver应用。
  1. #geoserver代理
  2. location ^~/geoserver/ {
  3.     proxy_pass http://192.168.11.18:8090/geoserver/;

  4.     proxy_set_header Host $host;
  5.     proxy_set_header X-Real-IP $remote_addr;
  6.     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  7.     proxy_set_header X-Forwarded-Proto $scheme;
  8. }
复制代码
到此这篇关于docker安装geoserver的方法步骤的文章就介绍到这了,更多相关docker安装geoserver内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望

来源:https://www.jb51.net/server/326625pe9.htm
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

举报 回复 使用道具