Updated repository for Payara Dockerfiles. This repository is for the Full Profile of Payara Server.
Dockerfile linkslatestprereleaseTo boot the default domain with HTTP listener exported on port 8080:
docker run -p 8080:8080 payara/server-full
The Docker container specifies the default entry point, which starts the default domain domain1 in foreground so that Payara Server becomes the main process.
Most common default open ports that can be exposed outside of the container:
To boot and export admin interface on port 4848 (and also the default HTTP listener on port 8080):
docker run -p 4848:4848 -p 8080:8080 payara/server-full
Because Payara Server doesn't allow insecure remote admin connections (outside of a Docker container), the admin interface is secured by default (in both the default domain1 as well as payaradomain), accessible using HTTPS on the host machine: https://localhost:4848 The default user and password is admin.
Once admin port is exposed, it is possible to deploy applications remotely, outside of the docker container, by means of admin console and asadmin tool as usual.
The docker image supports 2 ways of deploying applications on server startup.
Since version 172, Payara Server supports running asadmin commands automatically after the domain is started, including the deploy command to deploy applications. This is the preferred way to deploy applications on Docker container startup.
The default Docker entry point will scan the folder $DEPLOY_DIR for files and folders and deploy them automatically after the domain is started.
In order to deploy applications, you can mount the $DEPLOY_DIR (/opt/payara41/deployments) folder as a docker volume to a directory, which contains your applications. The following will run Payara Server in the docker and will start applications that exist in the directory ~/payara/apps on the local file-system:
docker run -p 8080:8080 -v ~/payara/apps:/opt/payara41/deployments payara/server-full
In order to build a Docker image that contains your applications and starts them automatically, you can copy the applications into the $DEPLOY_DIR directory. and run the resulting docker image instead of the original one.
The following example Dockerfile will build an image that starts Payara Server and deploys myapplication.war when the Docker container is started:
FROM payara/server-full
COPY myapplication.war $DEPLOY_DIR
You can now build the Docker image and run the application myapplication.war with the following commands:
docker build -t mycompany/myapplication .
docker run -p 8080:8080 mycompany/myapplication
When running the domain1 domain, Payara server automatically deploys all deployable files in the directory specified by the $AUTODEPLOY_DIR environment variable (it refers to the autodeploy directory in the domain directory of domain1).
You can deploy applications in the same way as with the $DEPLOY_DIR directory as described above.
However, deploying applications using the autodeployment directory is discouraged because of many drawbacks:
payaradomain domain for security reasons and has to be enabled before using it with that domainThe default entry point starts the server in the domain1 domain. If you want to start it with a different domain, e.g. payaradomain, you may provide the domain name in the PAYARA_DOMAIN environment variable. The following would start Payara Server in payaradomain, without changing the entry point:
docker run -p 8080:8080 --env PAYARA_DOMAIN=payaradomain payara/server-full
If you also want to use the AUTODEPLOY_DIR variable (although this is discouraged), you need to overwrite the value of this variable accordingly. It points to the autodeploy directory of the domain1 domain by default.
The default entry point does the following:
/opt/payara41/deployments, as described in "Deployment on startup using a startup script"startInForeground.sh startup script, which avoids running 2 JVM instances as opposed to the command asadmin start-domain --verboseIt's possible to run a custom set of asadmin commands by specifying the POSTBOOT_COMMANDS environment variable to point to the abslute path of the custom post boot command file. In that case, the default entry point won't deploy applications in /opt/payara41/deployments, you will have to specify the deploy command(s) in your custom post boot command file.
You may also want to completely redefine the default entry point with the --entrypoint argument of docker run.
Payara Server installation is located in the /opt/payara41 directory. This directory is the default working directory of the docker image. The directory name is deliberately free of any versioning so that any scripts written to work with one version can be seamlessly migrated to the latest docker image.
Payara Server is a patched, enhanced and supported application server derived from GlassFish Server Open Source Edition 4.x. Visit www.payara.fish for full 24/7 support and lots of free resources.
Full Payara Server and Payara Micro documentation: https://payara.gitbooks.io/payara-server/content/
Content type
Image
Digest
Size
347.8 MB
Last updated
almost 7 years ago
docker pull zeigren/payara-server-docker