https://www.docker.com%|%Docker%|% is an open platform for developers and sysadmins to build, ship, and run distributed applications. An [Ubuntu]-based docker component with a wide number of Tcl packages ready for use is available https://registry.hub.docker.com/u/efrecon/tcl/%|%here%|%. To run it, make sure you have docker and run the following (perhaps with sudo, depending on your installation and OS): ====== docker run --rm -it efrecon/tcl ====== This should give you an interactive Tcl prompt with [tclreadline] enabled. To run one of your local script, run something similar to the command below: ====== docker run -it --rm -v $(pwd):/home:ro -u $(id -u):$(id -g) efrecon/tcl /home/your_script.tcl ====== Docker also has an API, for an implementation check [docker-client]. Docker has released (or acquired) three additional and relevant tools: * https://docs.docker.com/compose/%|%Compose%|% manages sets of components forming an application using a [YAML] description. * https://docs.docker.com/machine/%|%Machine%|% creates virtual machines and provides drivers for a large number of cloud providers. * https://docs.docker.com/swarm/%|%Swarm%|% manages clusters of virtual machines and orchestrate components. Check out https://github.com/efrecon/machinery%|%machinery%|% for a tool to tighten all these together, again using a [YAML] description (but now with descriptions for each of the virtual machines that are part of the cluster).---- [Jeff Smith] 2021-03-17: [CloudTk] uses Docker Images to run Tk applications from this wiki in a Docker Container to provide isolation from the Host OS. Some of the Tk applications from this Wiki are CPU intensive on the $5/month Linode VM I host [CloudTk] on. So Docker allows you to specify the available CPU resources a container can use ====== docker run --rm -i --cpus 0.1 -e DISPLAY=$env(DISPLAY) -v /tmp/.X11-unix:/tmp/.X11-unix --net=host gearanimation:1 ====== <<categories>>Deployment | Internet | Linux