Docker
比利亚皮提供了一名官员 Docker 图像,该图像在两个 geopython Docker Hub 还有我们的 GitHub Container Registry 。有关其他Docker示例,请参阅 pygeoapi GitHub repository ,每个都有示例配置、测试数据、部署方案和提供程序后端。
这个 pygeoapi demo server 从各种服务,也运行Docker useful examples .
备注
Docker和 Docker Compose 需要在您的系统上运行pygeoapi映像。
基础知识
官方的pygeoapi Docker映像将在内部端口80上使用Gunicorn启动pygeoapi Docker容器。
要么 IMAGE
可以使用 docker
司令部, geopython/pygeoapi
来自DockerHub或 ghcr.io/geophython/pygeoapi
从GitHub容器注册表。下面的示例使用 geopython/pygeoapi
。
要使用默认的内置配置和数据运行:
docker run -p 5000:80 -it geopython/pygeoapi run
# or simply
docker run -p 5000:80 -it geopython/pygeoapi
…然后浏览到http://localhost:5000美元
也可以运行所有单元测试来验证:
docker run -it geopython/pygeoapi test
重写默认配置
通常你会覆盖 default.config.yml
用你自己的 pygeoapi
配置。这可以通过Docker卷映射来完成。
例如,如果您的配置 my.config.yml
:
docker run -p 5000:80 -v $(pwd)/my.config.yml:/pygeoapi/local.config.yml -it geopython/pygeoapi
对于更简洁的方法,可以使用 docker-compose
具体如下:
version: "3"
services:
pygeoapi:
image: geopython/pygeoapi:latest
volumes:
- ./my.config.yml:/pygeoapi/local.config.yml
ports:
- "5000:80"
或者你可以创建一个 Dockerfile
扩展基本映像和 copy 在您的配置中:
FROM geopython/pygeoapi:latest
COPY ./my.config.yml /pygeoapi/local.config.yml
可在中找到相应的示例https://github.com/geopython/demo.pygeoapi.io/tree/master/services/pygeoapi_master
在子路径上部署
默认情况下 pygeoapi
Docker image will run from the root
path (/
). If you need to run from a sub-path and have all internal URLs properly configured, you can set the `` SCRIPT_NAME``环境变量。
例如与 my.config.yml
在 http://localhost:5000/mypygeoapi
:
docker run -p 5000:80 -e SCRIPT_NAME='/mypygeoapi' -v $(pwd)/my.config.yml:/pygeoapi/local.config.yml -it geopython/pygeoapi
…然后浏览到 http://localhost:5000/mypygeoapi
下面是对应的 docker-compose
方法:
version: "3"
services:
pygeoapi:
image: geopython/pygeoapi:latest
volumes:
- ./my.config.yml:/pygeoapi/local.config.yml
ports:
- "5000:80"
environment:
- SCRIPT_NAME=/pygeoapi
可在中找到相应的示例https://github.com/geopython/demo.pygeoapi.io/tree/master/services/pygeoapi_master
总结
Docker是一种简单且可复制的部署系统的方法。
备注
欢迎并鼓励采用其他方法;见 贡献 有关如何帮助和改进文档的更多信息