1、拉取镜像
docker pull kartoza/geoserver:2.20.3
2、创建数据挂载目录
# 统一管理Docker容器的数据文件,geoserver
mkdir -p /mydata/geoserver
# 创建geoserver的挂载数据目录
mkdir -p /mydata/geoserver/data_dir
# 创建geoserver的挂载数据目录,存放shp数据
mkdir -p /mydata/geoserver/data_dir/shp
3、运行容器
docker run
--name geoserver #容器名称
-d #后台运行容器,并返回容器ID
-p 8089:8089 #容器端口:服务端口 系统默认8089
-e GEOSERVER_ADMIN_USER=admin #指定管理用户
-e GEOSERVER_ADMIN_PASSWORD=geoserver #指定管理用户密码
-v /mydata/geoserver/data_dir:/data_dir #数据挂载地址
kartoza/geoserver:2.20.3 #镜像名称
docker run --name geoserver -d -p 8089:8089 -e GEOSERVER_ADMIN_USER=admin -e GEOSERVER_ADMIN_PASSWORD=geoserver -v /mydata/geoserver/data_dir:/data_dir kartoza/geoserver:2.20.3
**注意:**此处有坑,网上很多教程并没有指定管理用户,此版本部署时就遇到了默认账户admin登陆不上去的问题,指定后可解决
4、设置开机自启
docker update geoserver --restart=always
5、测试使用(发布shp数据为服务)
(1)访问GeoServer的web地址: ip:8089/geoserver
(2)登录
账户名:admin
账户密码:geoserver
(3)创建工作区
(4)上传数据到linux的shp数据挂载目录
(5)添加shp数据存储
数据存储 -> 添加新的数据存储 -> shp数据 -> 选择挂载的目录中的数据项
(6)服务发布
图层 -> 添加新的资源 -> 添加图层 -> 发布
(7)服务预览