Single node Docker deployments

If you want to run a single node instance of XL Deploy using Docker follow this steps.

Single node XL Deploy deployment

Docker run

You can run the official XLD docker images from XebiaLabs using the docker run command as follows:

docker run -d  \
  -e ADMIN_PASSWORD=admin \
  -e ACCEPT_EULA=Y \
  -p 4516:4516 \
  --name xl-deploy xebialabs/xl-deploy:9.5.0

This will start the XL Deploy container and print out the container ID, you can also find running containers using the docker ps command. You can pass more environment variables to the command using -e flags.

You can stream the logs from the container using docker logs -f <container id>.

Note: In our example we are mounting configurations and hotfix from local volumes.

docker run -d  \
  -e ADMIN_PASSWORD=admin \
  -e ACCEPT_EULA=Y \
  -p 4516:4516 \
  -v ~/XebiaLabs/xl-deploy-server/conf:/opt/xebialabs/xl-deploy-server/conf \
  -v ~/XebiaLabs/xl-deploy-server/hotfix/lib:/opt/xebialabs/xl-deploy-server/hotfix/lib \
  -v ~/XebiaLabs/xl-deploy-server/hotfix/plugins:/opt/xebialabs/xl-deploy-server/hotfix/plugins \
  --name xl-deploy xebialabs/xl-deploy:9.5.0

Once the containers have started, you can access them at http://localhost:4516/, you might want to wait for a minute for the service to be up and running.

Docker compose

You can also use a docker-compose file to run XLD containers, as shown in the example below:

version: "2"
services:
  xl-deploy:
    image: xebialabs/xl-deploy:9.5.0
    container_name: xl-deploy
    ports:
      - "4516:4516"
    volumes:
      - ~/XebiaLabs/xl-deploy-server/conf:/opt/xebialabs/xl-deploy-server/conf
      - ~/XebiaLabs/xl-deploy-server/hotfix/lib:/opt/xebialabs/xl-deploy-server/hotfix/lib
      - ~/XebiaLabs/xl-deploy-server/hotfix/plugins:/opt/xebialabs/xl-deploy-server/hotfix/plugins
    environment:
      - ADMIN_PASSWORD=admin
      - ACCEPT_EULA=Y

Save the above content to a file named docker-compose.yml in a folder and run docker-compose up -d from the same folder.

If you use a different file name, then run docker-compose -f <filename.yaml> up -d

Once the containers have started, you can access them at http://localhost:4516/, you might want to wait for a minute for the service to be up and running.