Has there any been thought to deploying ArcGIS Server as a Docker container? Any plans to curate an official Docker image?
There are no current plans to enable ArcGIS Server to support the Docker platform at this time.
Hope this helps,
If you can petition for such a step, that would be great. Those deploying in a continuous deployment environment are increasingly turning to such container-driven technologies to increase the reliability of these deployments. Having Server work in this world would be great. With Microsoft supporting Docker inside Windows Server, this should become easier and easier.
This is the first time I have heard this request. Please post your suggestion here:
Esri Arcgis Ideas | Ideas Submission Portal
I saw this not too long ago, haven't tried it yet. Totally unsupported, but apparently someone got AGS running in Docker
hwernstrom/arcgisdocker · GitHub
That was me, I would love to hear feedback from others.
I managed to get AGS working using that Dockerfile, but I forked the repo and made a few changes to make it easier to use.
For one, I added a startup script so that AGS starts with the container and so that signals are handled properly. Also, I rewrote some of the RUN statements in the Dockerfile related to dependency installation.
Check it out here: http://github.com/warpedgeoid/arcgisdocker
I saw Mansour has also done this
GitHub - mraad/docker-arcgis: Run ArcGIS for Server in a Docker container
I am currently working on a Docker solution. I started with 10.5, now am working with 10.5.1.
I have ArcGIS Server, Portal For Server, Web Adaptor, and ArcGIS Datastore running now in Docker containers. I am working on the myriad details but things are already limping along. I have to do a little hand waving (like what you see in conference live demos :-) but I can get them all spun up and hooked together. All software is installed, licensed, and configured automatically. More or less. I know that it can be done and am trying to get everything going before worrying about polishing each part.
You can see the work on github, look here: geo-ceg/docker- You will see some incomplete open source dockers for things like geoserver and geogig there. Ignore those for now! The ones I am working on are docker-arcgis-server, docker-portal-for-arcgis, docker-web-adaptor, and docker-arcgis-datastore.
Once I am done I will be able to mix and match - run everything on a laptop for portable testing, or spread dockers out over multiple machines for load balancing. Or test clustering out by spinning up multiple AGS containers...
I have been ignoring rather big issues until I have the entire suite running. For example, usernames/passwords and hostnames. I am learning minutiae of ArcGIS Enterprise 10.5.1 and Docker while I do this. I see how to do it now so I am not worried about it. (Persisting data is a huge problem, read on for more on that.)
ArcGIS Enterprise is an onion, you knew that already if you have tried to install it! I keep peeling off another layer saying "once this layer is done, I will write a splendid blog posting to tell everyone about it"... then I discover another required layer inside... currently I am trying to set up Datastore with an RDBMS so that I can connect it to a Site and then create a Hosted Server and then connect that to Portal... I think I said that correctly.
Microsoft provides SQL Server in a Docker, I plan on trying that as the RDBMS.
Sometimes I read and attempt to follow ESRI docs only to try something and discover some things are fundamentally wrong. For example, they say Web Adaptor is an optional accessory, (maybe it was in earlier releases?) but when I try to use a reverse proxy instead, Portal firmly says "WHERE IS YOUR WEB ADAPTOR? I NEED ONE." So -- I added the Web Adaptor layer. Maybe somehow there is a workaround but creating the Docker for it was pretty straightforward... once I learned how to automate creation and installation of self-signed certificates for Tomcat. And also that Tomcat HAS TO RUN on ports 80/443 - the installer scripts die if you don't set it up that way. And that required learning about authbind, such fun!
The stickiest part right now is that every time I spin up an ArcGIS Server container, I have to create a new site. Per the documentation, I can persist the files in config-store/ and directories/ but it matters not! When I start a container the best I can get is "I see those files you persisted and you must delete them or I won't start!". Such petulant software!
I thought I would try using the official backup/restore scripts. I made a backup, spun up a new container, tried to do a restore and it said "I can't do a restore until you create a site." To me, this says ESRI has a very whimsical notion of "backup" and "restore".
ANYWAY I will continue pushing my changes up to github and these dockers will get stronger and stronger. So far, so good. It's a roller coaster ride! Whee!
Excellent work! Hopefully, we start seeing esri employees contributing to this open source effort.
I have combined the 4 separate repositories into one, I am at the point where I want to start composing the separate dockers so that they work together.
They are now in https://github.com/Geo-CEG/docker-arcgis-enterprise.
The old separate repos now just direct you to the new one.
I wrote a python script that uses the REST API to do the initial site configuration for ArcGIS Server, so now it comes up pretty much automatically.
Today I add a similar script to the Portal container. It's just about working. Once that's done I can finish the bit that registers the Web Adaptor to Portal.
I am also setting up SQL Server as the back end datastore, using this Docker container from Microsoft that runs SQL Server 2017 in an Ubuntu Linux container. SQL Server running on Linux. Who ever would have thought that would happen?
you can also see: Esri ArcGIS Server Docker Image
Retrieving data ...