Sign inSign up

siqsuruq/tcl

By siqsuruq

•Updated 13 days ago

Tcl 9.X, 8.X (Tool Command Language)

Image
Networking
Languages & frameworks
Operating systems
1

5.5K

siqsuruq/tcl repository overview

⁠Tcl Docker Images

Tcl (Tool Command Language) is a very powerful but easy to learn dynamic programming language, suitable for a very wide range of uses, including web and desktop applications, networking, administration, testing and many more. This repository offers several distinct Docker image flavors tailored to suit different preferences and requirements.


⁠About

Base Tcl images with Tcl built from official sources and installed under /opt/tcl<major>. Images are published for multiple distributions (e.g. debian, alpine) and include a small set of commonly used Tcl extensions (Tcllib, TLS, tDOM, NSF/NX, tzint).


⁠Tags

Tags follow this pattern:

  • Moving tag (latest in major line): tcl<major>-<distro>
  • Pinned tag (exact version): <tclver>-<distro>

Examples:

  • tcl8-debian → latest published Tcl 8.x on Debian (moves forward)
  • 8.6.17-debian → Tcl 8.6.17 on Debian (immutable)
  • tcl9-debian → latest published Tcl 9.x on Debian (moves forward)
  • 9.0.4-debian → Tcl 9.0.4 on Debian (immutable)
  • tcl9-alpine / 9.0.3-alpine → same idea on Alpine
⁠Recommendation
  • Use tcl8-<distro> / tcl9-<distro> for development.
  • Use <exact>-<distro> (pinned) for production and reproducible builds.

⁠Pre-built and External Tcl Packages

All images already include following Tcl packages:

Also all images support mounting extra Tcl packages at internal folder:

/external_libs

TCLLIBPATH is set so Tcl can discover packages placed there.

⁠Directory layout

Your mounted folder should contain standard Tcl package layouts, typically with pkgIndex.tcl:

external_libs/
  mypkg/
    pkgIndex.tcl
    mypkg.tcl

Run with a mount

docker run --rm -it -v "$PWD/external_libs:/external_libs" siqsuruq/tcl:tcl9-debian

Then inside Tcl:

package require mypkg
# Check search paths
puts "TCLLIBPATH=$::env(TCLLIBPATH)"
puts "auto_path=$auto_path"

⁠How to run

⁠tclX-alpine (Alpine-based Tcl Base Image)

This Docker image provides a lightweight, Alpine-based environment equipped with Tcl (Tool Command Language) and Tcllib and some other packages, offering a robust platform for developing and running Tcl applications. Ideal for Tcl enthusiasts and developers looking for a minimal yet fully-functional Tcl execution environment, this image is optimized for performance, size, and ease of use. Whether you're developing applications, scripts, or just exploring Tcl, siqsuruq/tclX-alpine is the perfect starting point."

⁠Running the Image

To run the image in interactive mode:

Run into tclsh with rlwrap:

docker run --rm -it siqsuruq/tcl:tcl9-alpine

Run in interactive mode and mount your external folder with Tcl Packages:

docker run --rm -it -v "$PWD/my_packages:/external_libs" siqsuruq/tcl:tcl9-alpine

⁠tclX-debian (Debian-based Tcl Base Image)

This Docker image provides a Debian-based environment with Tcl built from source and installed under /opt/tcl<major>.
It includes Tcl, Tcllib, and commonly used extensions such as TclTLS, tDOM, NSF/NX, and tzint.

The image is intended as a minimal but complete runtime for developing and executing Tcl applications in a stable Debian environment.

It is suitable for:

  • Running Tcl applications and services
  • Building Tcl-based tools and scripts
  • Development and testing environments
  • Containerized production deployments (use pinned tags)

⁠Running the Image

Run interactive Tcl shell (tclsh via rlwrap):

docker run --rm -it siqsuruq/tcl:tcl9-debian

Running with External Tcl Packages

The image supports mounting additional Tcl packages into:

/external_libs

Example:

docker run --rm -it -v "$PWD/my_packages:/external_libs" siqsuruq/tcl:tcl9-debian

Tag summary

Content type

Image

Digest

sha256:e8b67bfb1…

Size

17.8 MB

Last updated

13 days ago

docker pull siqsuruq/tcl:9.0.4-alpine