@Arjan.Malestein sorry for late.
Here the needed steps to manually create a custom katalon image.
On the machine you use for grabbing the image, do as bellow:
- Pull the latest katalon image (or whatever version you desire to use as a base) and check for it’s presence:
docker pull katalonstudio/katalon:latest
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/katalonstudio/katalon latest dfa806514683 2 days ago 1.69 G
- Fire up a container in background (detached mode).
You don’t need to do any bind mount (-v) at this point since however will be ignored during the commit stage.
Use whatever you like for the container name:
docker run -itd --name my_container katalonstudio/katalon:latest bash
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
330d4b0a8d86 docker.io/katalonstudio/katalon:latest bash 5 seconds ago Up 5 seconds ago my_container
you should see your container with status up.
- Copy the certs inside the container using
docker cp
command
(i will just create a test file and copy into the / folder)
touch test.file
docker cp ./test.file my_container:/
- Jump inside the container (note the prompt has changed):
docker exec -it my_container bash
root@330d4b0a8d86:/#
check if the files you need are in the right place:
root@330d4b0a8d86:/# ls -al
total 72
dr-xr-xr-x. 22 root root 4096 Dec 12 09:20 .
-rw-rw-r--. 1 root root 0 Dec 12 09:19 test.file
-----
- Run the commands to install the tools needed and update the certs.
(i will just install htop)
root@330d4b0a8d86:/# htop
bash: htop: command not found
root@330d4b0a8d86:/# apt update && apt install htop
Once done, log-out from the container (just type exit
). Your container should still run at this moment.
- Commit your changes using
docker commit
to a new image (use whatever you like for repo_name, image_name and version)
docker commit my_container my_repo/my_image:some_version
Getting image source signatures
Copying blob bba47f1b6b65 skipped: already exists
Copying blob c98acc4f5f2e done
Copying config c9720cde91 done
Writing manifest to image destination
Storing signatures
---
check the images, note the new one:
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
localhost/my_repo/my_image some_version c9720cde919f 23 seconds ago 1.72 GB
docker.io/katalonstudio/katalon latest dfa806514683 2 days ago 1.69 GB
at this point you can stop and remove the container:
docker stop my_container && docker rm my_container
- Now copy your image on the air-gapped machine and run it as you usually use the katalon one.
(i will just create a test container and check if the files and tools are in place)
docker run -itd --name test_container my_repo/my_image:some_version bash
3b6f27c336ea20c52a14d4dd9adbd095e62b09d85c438ec02c2f11dab5318d14
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3b6f27c336ea localhost/my_repo/my_image:some_version bash 4 seconds ago Up 3 seconds ago test_container
docker exec -it test_container bash
root@3b6f27c336ea:/# ls -al test.file
-rw-rw-r--. 1 root root 0 Dec 12 09:19 test.file
Of-course, all from above can be done also by using a Dockerfile and docker build
command, see for reference: