Con los directorios creados que serviran como unidades de volumenes para la persistencia de los datos del contenedor ahora podemos iniciar la instancia del contenedor desde la consola.
sudo docker run --restart=always --name mule-ce -d -p 80:8181 \-v ~/mule-root/apps:/opt/mule/apps -v ~/mule-root/conf:/opt/mule/conf -v ~/mule-root/logs:/opt/mule/logs wslph/mule:3.9.0-ce
Con esta instrucción debemos tener claro que la instrucción -p 80:8181 mapea el TCP puerto 8181 del contenedor mule con el puerto 80 del Docker host .
Tambien es importante saber que para el prototipo se utiliza la imagen con la versión comunitaria wslph/mule:3.9.0-ce que debera descargarse la primera vez.
Si se desea usar la versión empresarial de pago se utiliza la imagen wslph/mule:3.9.0-ee
Hay un archivo de configuración dentro de la aplicación exportada desde el Mule ESB Project con el Anypoint que en este caso se llama prototipoucv.xml
En ese archivo se define el host y el puerto del contenedor mule:
host="0.0.0.0" port="8181"
Asi que en función al port definido aquí es que se ha de mapear en el -p al momento de correr el contendor. Otro punto importante el puerto 80 utilizado para el Docker host y con el cual accederemos desde afuera es http asi que el api correria
http://23.96.92.32/api/v1/minpet/proyectos/publicaciones/2015
si deseo que el api utilice https debo mapear con el puerto 443
Algunos comandos útiles que se pudieran utilizar son los siguientes:
Para ver las imagenes de Docker descargdas
Para ver los contendores
sudo docker ps-a
Para parar algun contenedor
sudo docker stop “idContendor”
Para iniciar algún contendor
sudo docker start “idContendor”
Para eliminar algún contendor
sudo docker rm “idContendor”
Para profundizar en la documentación de Docker consultar https://docs.docker.com/