Docker : Install Maven dependencies during build stage only?

Still new to Docker and trying to get a Jetty webservice to run inside a container.
This is my docker file at the moment


  • Running Unity3d for automated builds inside a docker container
  • Benchmarking contianers in clouds
  • Aborted connection to db; docker-compose ruby & mysql images - Got an error reading communication packets
  • Application B is used by many client so which (Tools) will scale the B?
  • docker: Only execute command in when container is running
  • docker lvm thin pool cleanup
  • FROM maven:3.3-jdk-8-alpine
    # Install packages
    # To find packages to install see -
    RUN apk add --no-cache curl tar bash wget apache-ant
    RUN apk info
    # Do any Maven configuration
    ENV MAVEN_HOME /usr/share/maven
    # Copy over project source files to the /tmp folder
    COPY . /tmp/project
    WORKDIR /tmp/project
    # Preinstall any Maven depencencies
    RUN mvn install -pl '!deb' -DskipTests
    # Default command when running the docker image, can be overriden
    CMD cd webapp/ && mvn jetty:run

    During the docker build I specify maven install to install all dependencies for the project and build the jars for each module from sources.

    However when then run the docker container, it still tries to reinstall all the dependencies and then fails because it cannot find my api.jar file

    My project structure is like so

    Project structure

    • api
    • lib
    • webapp
    • pom.xml


    The following artifacts could not be resolved:

    Doing the same steps outside of a container works fine and the jetty service starts ok. Any ideas how to fix?

  • simulate Daemon-set in kubernetes with using Deployment
  • How to move an application based on two linked docker containers to another host?
  • sbt-native-packager with Docker and Elastic Beanstalk congifuation
  • ambassador pattern vs network alias pattern in docker
  • WSL in Windows Container
  • Can't ping Docker containers via hostnames/names
  • One Solution collect form web for “Docker : Install Maven dependencies during build stage only?”

    SNAPSHOT dependencies are checked for updates regularly by Maven – by default on a daily basis. But you can disable this in your settings.xml of Maven. See for an answer in a similar (but inverted) case, and see (search for updatePolicy).

    Example Repository setting in your settings.xml:

    Docker will be the best open platform for developers and sysadmins to build, ship, and run distributed applications.