What is Docker?
Docker is a tool that makes it easy to create and run applications by deploying them in containers. Containers are often compared to virtual machines, but it is important to note that they are not the same thing.
While a virtual machine will run an image with an entire operating system, containers allow developers to ship an application and its dependencies with only the essential functions.
This results in less storage needed and better performance overall. Containers also have other advantages compared to a traditional system, including standardization, scalability, and isolation from external applications.
The Fortra Docker Hub page can be found here: https://hub.docker.com/r/helpsystems/goanywhere-mft.
These pages give instructions for installing and setting up the Docker images for the first time, as well as general information about the product. The images can be installed simply by using the command line, or there are YAML files for Docker Compose that can be modified, which is especially helpful for more complex setups.
This example will walk through using the command line with Docker Desktop to install GoAnywhere MFT.
Obtaining the Image
The first step is to install Docker. This example is done on Windows, so Docker Desktop is installed, following the instructions on Docker’s website. Once Docker itself has been installed and the engine is running, setup of GoAnywhere MFT can begin.
Open the command line and run the command “docker pull Fortra/goanywhere-mft:latest.” This will install the most recent image of GoAnywhere MFT which these containers will be based off. The command “docker images -a” can be ran to verify that the MFT image is installed.
Running a Container
The next step is to build the container. The full command in this example is:
docker run --detach --publish 9000:8000 --publish 9001:8001 --publish 9005:8005 --publish 9006:8006 --
publish 9009:8009 --publish 9010:8010 --publish 9443:8443 --publish 9021:8021 --publish 9022:8022 --
publish 32001-32300:32001-32300 --volume userdata:/opt/Fortra/GoAnywhere/userdata/ --
volume configdir:/etc/Fortra/GoAnywhere/config/ --volume
ghttpsrootcustomdir:/opt/Fortra/GoAnywhere/ghttpsroot/custom/ --name my_mft
Breaking it Down:
- --detach: the container will run in the background
- --publish: maps an inbound port on the host device to a port in the Docker container, in that order
- --volume: persists data in this location of the container
- --name: name given to the container
Verify that the container is running successfully with “docker ps,” which will list all running containers. “docker ps -a” will show all containers, even if they are not running. Another helpful command is “docker logs [container name]” which can give more information about why a container stopped.