docker

Difference between version 9 and 10 - Previous - Next
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