Docker Installs
Docker Installs with no Preinstalled Image
When a preinstalled leanXcale docker image is available, disregard this section and proceed as described in the next one.
Prerequisites
To install, you need:
-
A valid LeanXcale license file
-
The LeanXcale zip distribution
-
A Linux system with
-
docker version 20.10.6 or later.
-
python 3.7 or later.
-
-
Access to the internet to permit docker to download standard docker images and software packages for them.
Your sales representative will provide you with a valid license file. In case you have any issues with it, please send an email to sales@leanxcale.com.
Download the latest LeanXcale zip distribution from:
https://artifactory.leanxcale.com/artifactory/lxpublic
There is a zip file per version.
Install
Working on the directory where the distribution has been downloaded, unzip the LeanXcale zipped distribution:
unix$ unzip lx.2.1.231129.zip Archive: lx.2.1.231129.zip creating: lxdist/ inflating: lxdist/lxinst.v2.1.port.tgz inflating: lxdist/lxavatica.v2.1.libs.tgz ...
Verify that the process completed successfully and there is a directory
lxdist
(with the distribution packages) and the lxinst
program:
unix$ ls lx.2.1.231129.zip lxdist lxinst
To create a docker image for leanXcale, use the following command:
unix$ lxinst docker sysinfo lx1... install #cfgfile: argv docker... ... install done docker images: REPOSITORY TAG IMAGE ID CREATED SIZE uxbase 2 434dfeaedf0c 3 weeks ago 1.06GB lx 2 6875de4f2531 4 seconds ago 1.33GB docker network: NETWORK ID NAME DRIVER SCOPE 471c52155823 lxnet bridge local to start: docker run -dit --name lx1 --network lxnet lx:2 lx1
The image created is named lx:2
. It is configured to run a container
with hostname lx1
on a docker network named lxnet
.
To list the image we can execute
unix$ docker images lx REPOSITORY TAG IMAGE ID CREATED SIZE lx 2 6875de4f2531 About a minute ago 1.33GB
And, to list the networks we can execute
unix$ docker network ls NETWORK ID NAME DRIVER SCOPE 471c52155823 lxnet bridge local
The created image is a single one for all containers. The name given
when creating the container determines the host name used (in this
example, lx1
).
Before using the system, a license file must be installed on each container created. This is explained later.
To remove the image when so desired, use this command:
unix$ docker rmi lx:2
Docker Installs with Preinstalled Image
Prerequisites
To install, you need:
-
A valid LeanXcale license file
-
The LeanXcale docker image
-
A Linux system with
-
docker version 20.10.6 or later.
-
python 3.7 or later.
-
Your sales representative will provide you with a valid license file. In case you have any issues with it, please send an email to sales@leanxcale.com.
Download the latest LeanXcale docker image from:
https://artifactory.leanxcale.com/artifactory/lxpublic/
There is a docker image file per version.
Install
Working on the directory where the image file has been downloaded, add the image to your docker system:
unix$ docker load --input lx.2.1.docker.tgz Loaded image: lx:2
Double check that the image has been loaded:
unix$ docker images lx:2 REPOSITORY TAG IMAGE ID CREATED SIZE lx 2 bd350f734448 28 hours ago 1.33GB
Create the docker network lxnet
:
unix$ docker network create --driver bridge lxnet
The image is a single one for all containers. The name given when
creating the container determines the host name used (in this example,
lx1
).
Before using the system, a license file must be installed on each container created. This is explained in the next section.
To remove the image when so desired, use this command:
unix$ docker rmi lx:2
Running leanXcale Docker Containers
This section explains how to create containers from leanXcale images and
how to install licenses and change the lxadmin
password for them.
Provided the leanXcale image named lx:2
, and the docker network
lxnet
, this command runs a leanXcale docker container:
unix$ docker run -dit --name lx1 --network lxnet -p0.0.0.0:14420:14420 lx:2 lx1 b28d30702b80028f8280ed6c55297b2e203540387d3b4cfbd52bc78229593e27
In this command, the container name is lx1
, the network used
lxnext
, and the image used lx:2
. The port redirection -p…
exports the SQL port to the underlying host.
It is important to know that:
-
starting the container will start leanXcale if a valid license was installed;
-
stopping the container should be done after stopping leanxcale in it.
The container name (lx1
) can be used to issue commands. For example,
this removes the container after stopping it:
unix$ docker rm -f lx1
The installed container includes the lx
command. Use it to execute
commands to operate the installed DB system.
It is possible to attach to the container and use the ''lx'' command as it can be done on a bare metal host install:
unix$ docker attach lx1 lx1$ lx version ...
Here, we type docker attach lx1
on the host, and lx version
on
the docker container prompt.
Note that if you terminate the shell reached when attaching the docker container, it will stop. Usually, this is not desired.
It is possible to execute commands directly on the executed container. For example:
unix$ docker exec -it lx1 lx version
executes lx version
on the container.
Setting up a License and Admin Password
Starting the container starts leanxcale as well, but not if there is no license installed. In this case we must install a license file in the container.
To install a license file, it must be copied to the container as shown here:
unix$ docker cp ./lxlicense lx1:/usr/local/leanxcale/.lxlicense unix$ docker exec -it lx1 sudo chown lx /usr/local/leanxcale/.lxlicense
To change the password for the lxadmin
user, do this after starting
the database:
unix$ docker exec -it lx1 lx kvcon addusr lxadmin pass? *****