Search code examples
amazon-web-servicesdockerdockerfileamazon-elbamazon-ecs

Default path to install Nexus Docker Container from AWS EC2


Where can I find the default path for Sonatype Nexus (Example: /nexus), MongoDB, Postgres, Jenkins etc. in order to install Docker containers from AWS ECS using Application Load Balancer? I need to create a new Target Group and add the path inside Health Check Settings Path so I can load balance all the applications such as Sonatype Nexus, Jenkins, Centos, Postgres, MongoDB etc.


Solution

  • Generally speaking, docker containers with web applications are deployed by convention on "/", and joining the webapp is more a question of port than path.

    You can find information about port on official docker hub or store website (nexus, jenkins, etc...)

              |  Path  |  Port  | Docker run example
    Nexus 3   |   /    |  8081  | docker run -p8081:8081 --name nexus sonatype/nexus3
    Jenkins   |   /    |  8080  | docker run -p8080:8080 --name jenkins jenkins
    

    For your databases, same idea, you don't have a "path" to specify to connect to them. You just need to map ports and either publish them, link containers, or use docker network.

    For instance for postgres:

    docker run --name some-postgres -p5432:5432 -e POSTGRES_PASSWORD=mysecretpassword -d postgres
    

    Then join the database with something like :

    //host:5432/db
    

    Your AWS ELB would balance the trafic for webapps using Target Group (HTTP / HTTPS), but I don't think you can do that for database (TCP only). I guess databases would use Classic Load Balancer.