Select to view content in your preferred language

Feasibility of Moving Python Script Using ArcPy into Docker

1173
3
Jump to solution
12-06-2021 11:32 AM
MikeSayre
Occasional Contributor

We currently have a python script running on a Windows 2016 server where ArcGIS Pro is installed.  The script runs as a scheduled task and uses arcpy geoprocessing functionality to manipulate GIS data.  The script uses a couple of licensed extensions in addition to an ArcPro concurrent license from a license server.  I've been asked to see if this functionality could be converted to a Docker microservice.  Would this be feasible?  One of the things I'm wondering about is if arcpy could still obtain the needed licenses without a full-blown ArcGIS Pro install on the system. 

Tags (1)
1 Solution

Accepted Solutions
PhilipOrlando
Occasional Contributor

My team is trying to solve the same problem and we haven't been able to identify a solution. Judging by the fact that an Esri rep has not responded to your question in over a year, I'm guessing that ArcGIS Pro does not officially support the use of docker containers due to the licensing issues that you mentioned. Containerization is an essential component within the modern GIS stack and it's frustrating that Esri won't recognize this and provide official support for it...

View solution in original post

0 Kudos
3 Replies
PhilipOrlando
Occasional Contributor

My team is trying to solve the same problem and we haven't been able to identify a solution. Judging by the fact that an Esri rep has not responded to your question in over a year, I'm guessing that ArcGIS Pro does not officially support the use of docker containers due to the licensing issues that you mentioned. Containerization is an essential component within the modern GIS stack and it's frustrating that Esri won't recognize this and provide official support for it...

0 Kudos
HassaanJavaid
New Contributor

Hi Philip,

Was your team able to solve this problem? My team is also working on something similar, we are looking to containerize some of our ArcPy pipelines to migrate them to production. I am also struggling with getting this set up and do not see any official support material or documentation.

0 Kudos
PhilipOrlando
Occasional Contributor

We haven't found an Esri-supported solution for this issue. 

Our approach has been to avoid containerizing ArcPy workflows altogether. Instead, we expose the Network Analyst utilities we need as REST API endpoints via ArcGIS Server and handle the bulk of our ETL processes with FOSSGIS tools like Python and GeoPandas. When ArcGIS functionality is required inside a container, we simply make HTTP requests to those custom endpoints. 

The amount of effort and workarounds required to make Esri software fit into a modern, production-grade deployment environment has been staggering. At this point, I minimize reliance on Esri products wherever possible. They're cumbersome, brittle, and far from container-friendly.

0 Kudos