3

could someone point me to the right documents or describe how Docker would help (or what should be Dockerized) in the following scenario:

  • 4 environments: Developer's laptop, DEV, TEST, PRO
  • C# web MVC application running under IIS8.
  • Databse running on Oracle dedicated Exadata server.
  • Source Control is TFS-TFS, with builds under TFS and a binary repository with rest apis. (Proprietary)
  • Deployment in TEST and PRO must follow a strict approval process.

with all that said, I know I am not in the most common environment for going to Docker, however I specifically selected this use case in order to get the most of the answers.

I can follow 2 path:

  • Either try to Dockerize the DEV environment itself, but I doubt Visual Studio can be Dockerized today? So that would leave my with running a smalle database engine in dock as well a maybe a mono instance for running the application, however I doubt developers will see an added value compared to the built-in VSS features.
  • I could also try to dockerize the 'run' environments, but again for IIS I am not sure Docker will do.

If the answer is "nothing will do on Microsoft stack", please switch to Java, SVN, Jenkins, RAD and WAS where appropriate, that would match some of my use cases too.

  • Visual Studio does not work with wine as I see garbage https://appdb.winehq.org/objectManager.php?sClass=application&iId=892 and IIS seems to be in the same category https://appdb.winehq.org/objectManager.php?sClass=version&iId=24892 can you use another webserver, such as nginx ou Apache or lighttpd ? – user2915097 Feb 13 '15 at 10:10
  • Hi, for C# MVC applications, it won't be that easy, however as mentioned I do have a java stack too so it should still be possible to use Docker for some things. I understand from your answer that only Linux software will be ok under Docker for the moment right? – Arnaud CORNELY Feb 13 '15 at 10:32
  • Linux or Mac Os, but you can use .NET in a container, see https://registry.hub.docker.com/u/justmoon/wix/dockerfile/ and also PowerShell, see https://registry.hub.docker.com/u/justmoon/wix/dockerfile/ and ASP https://registry.hub.docker.com/repos/microsoft/ – user2915097 Feb 13 '15 at 10:37
  • Thanks, any advice on the pic picture idea? I get somehow the idea about running an Apache, or ruby stack on Docker, but I don't understand exactly how that fits in the normal working ways of the developers. I also don't really get how built code gets deployed in PRO using docker. Surely the people who maintain this environment won't accept 'just' a docker file with the new version of the application, how would they know who to perform the basic maintenance and trouble shooting? – Arnaud CORNELY Feb 13 '15 at 11:28

1 Answers1

0

For dealing with DEV/TEST/PROD see Dockerfile and dev/test/prod environment

You may have a look at the (343) Oracle Database in container you can find in the registry hub https://registry.hub.docker.com/search?q=oracle&searchfield=

If you choose another webserver replacing IIS, it is easy to use a container with Nginx or Apache or...

Community
  • 1
  • 1
user2915097
  • 30,758
  • 6
  • 57
  • 59
  • Hi, I get the idea of different configs from the environment or from config files, however how do the support teams react to such type of delivery? I must say that in my experience, the team will not appreciate a lot to receive a dockerized environment where they have no control, (for example on the WAS settings and config). I get this for fast deployment of new environments, for for strictly controlled and monitored environments I can't picture it (or I can't picture how to make people accept it) – Arnaud CORNELY Feb 13 '15 at 12:05
  • As for running oracle, I have seen these images, but they won't match (in performance/scalability/avialability) an Exadata setup, unless maybe Docker has features to perform hot swap of database transactions? – Arnaud CORNELY Feb 13 '15 at 12:08
  • >>>the team will not appreciate a lot to receive a dockerized environment where they have no control ---> you can give them a Dockerfile and let them adapt it, put a specific WAS setting/config `docker build -t myconfig_1 .` is easy, and with docker 1.5 you can have specific Dockerfiles , see http://blog.docker.com/2015/02/docker-1-5-ipv6-support-read-only-containers-stats-named-dockerfiles-and-more/ – user2915097 Feb 13 '15 at 12:12
  • why not containerize Exadata ? It it runs on Linux, you will be able to do it. – user2915097 Feb 13 '15 at 12:16
  • >>> unless maybe Docker has features to perform hot swap of database transactions? --> see docker as an isolated process, http://stackoverflow.com/questions/28080261/is-a-docker-lxc-container-a-running-app-or-something-in-memory/28083234#28083234 so it will not be able to do so – user2915097 Feb 13 '15 at 12:30