This topic outlines the steps that a Dockerfile must carry out to create an image that contains a COBOL application that can
               be run under 
               		Enterprise Server. 
               	 
            
 
            	 
            Before you follow the steps in this topic you must have built a base image for 
               		Enterprise Server. For information on creating a base image for 
               		Enterprise Server see 
               		Building a Base Image Containing 
                  		  Enterprise Server. 
               	 
            
 
            	  
            	 
            Before building an image containing an application to 
               		run under 
                  		  Enterprise Server you need to ensure that you have available the following: 
               	 
            
 
            	 
             
               		
               - A base image for 
                  		  Enterprise Server. If you have not yet built such an image, see 
                  		  Building a Base Image Containing 
                     			 Enterprise Server for information on how to build one. 
                  		   
                  		
               
To build an image that includes an application to 
               		run under 
                  		  Enterprise Server your Dockerfile needs to perform the following steps: 
               	 
            
 
            	 
             
               	 
                
                  		
                  - Specify a base image to work from. This should be an image containing only 
                     		  Enterprise Server which was built for 32-bit or 64-bit as required and includes the additional build functionality, typically 
                     		  microfocus/edbuildtools-build:win_5.0_x86 or 
                     		  microfocus/edbuildtools-build:win_5.0_x64. 
                     		  
                     See 
                        			 Building a Base Image Containing 
                           				Enterprise Server for more information. 
                        		  
                      
- Define metadata for your image. This will make it easier to establish significant details of the image when you use the 
                     			 docker inspect command. 
                     		  
                  
- Define any variables for filenames and folder locations. 
                     			 
                     Note: If you will be using this image to run applications under Enterprise Server, you need to set the MFDS_EXTERNAL_ADDR environment
                        variable to specify a resolvable external address string. This is to enable client browsers to resolve the URLs used by ESMAC
                        and other utilities in Enterprise Server Administration. 
                        				
                         The value that you specify for this environment variable is used to replace the internal container address in the URL. 
                           				
                         
 
- Create a folder to hold the application files then copy the application files and the license file (.mflic) for 
                     		  Enterprise Server file into it. 
                     		
                  
- Use the 
                     		  MFLicenseAdmin.exe utility to install the license for 
                     		  Enterprise Server. 
                     		
                  
- Perform any required clean-up. This includes tasks such as resetting variables and deleting temporary folders. 
                     		  
                  
- Specify the name of the executable to run when the image is run. 
                     		
                  
   
            	 
             The above process is used by the Docker demonstrations that create images for applications that you can 
               		run under 
                  		  Enterprise Server. For more information on one of those demonstrations, including information on all the files it contains and a detailed description
               of the Dockerfiles it contains, see 
               		The 
                  		  CICS Docker Demonstration. 
               	 
            
 
            	 
            Note: When starting a container that includes an application to be run under 
               		
Enterprise Server, to be able to manage the container's enterprise servers using Micro Focus Directory Server (MFDS) and Enterprise Server
               Monitor and Control (ESMAC) from a machine other than the host machine you must specify some additional parameters on the
               
               		
docker run command. The additional parameters are: 
               		
               
 
                  		  
                  - -p to map the container's port to a port on the host computer 
                     		  
                  
- -e to specify the MFDS_EXTERNAL_ADDR environment variable, which is used to specify the name of the host computer where the
                     container is running. 
                     		  
                  
For example, when running an image for the CICS Docker demonstration you should ensure the 
                  		  docker run command contains parameters such as the following: 
                  		
               
 
               		-p 16001:86/udp -p16001:86/tcp -p 9000-9010:9000-9010 -e MFDS_EXTERNAL_ADDR=host-computer-name