tatsushid / docker-tinycore Goto Github PK
View Code? Open in Web Editor NEWTiny Core Linux Docker image building scripts and Dockerfile
Tiny Core Linux Docker image building scripts and Dockerfile
I made a variant where "compiletc" is pre-installed:
FROM tinycore:9.0-x86_64
RUN tce-load -wic compiletc \
&& rm -rf /tmp/tce/optional/*
It comes in handy when cross-compiling for TCL.
Maybe it is something that could be provided ?
REPOSITORY TAG IMAGE ID CREATED SIZE
localhost/tinycore 9.0-x86_64 27343c7fecc7 8 weeks ago 8.66 MB
localhost/tinycore-compiletc 9.0-x86_64 f6e0e3b9fc58 8 weeks ago 153 MB
Saves time (and bandwidth) for new containers.
Seems like glibc now requires newer kernel:
$ docker run -it tatsushid/tinycore:9.0-x86_64
/ $ exit
$ docker run -it tatsushid/tinycore:10.0-x86_64
Unable to find image 'tatsushid/tinycore:10.0-x86_64' locally
10.0-x86_64: Pulling from tatsushid/tinycore
3348b3ad1ead: Pull complete
55412ab21c7e: Pull complete
07e7496af627: Pull complete
Digest: sha256:b56ab3b4453c45e07ce0448b33481a9dc8ee5ce9b6ddaecd4b4b2ffb62b293b2
Status: Downloaded newer image for tatsushid/tinycore:10.0-x86_64
FATAL: kernel too old
Tiny Core Linux 10.0 now requires 4.8 to run...
Not so much that can be done about this inside the container though (except for rebuilding glibc ?)
But it means e.g. that you can no longer run it on Ubuntu 16.04, need to upgrade to Ubuntu 18.04
Hello,
When I try to install a software I have an error:
/ $ tce-load -wic nano.tcz
nano.tcz.dep OK
Downloading: ncursesw.tcz
Connecting to proxy:8080 (XX.XX.XX.XX:8080)
ncursesw.tcz 100% |**************************************************************************| 228k 0:00:00 ETA
ncursesw.tcz: OK
/usr/local/bin/unsquashfs: error while loading shared libraries: liblzma.so.5: cannot open shared object file: No such file or directory
Downloading: file.tcz
Connecting to proxy:8080 (XX.XX.XX.XX:8080)
file.tcz 100% |**************************************************************************| 412k 0:00:00 ETA
file.tcz: OK
/usr/local/bin/unsquashfs: error while loading shared libraries: liblzma.so.5: cannot open shared object file: No such file or directory
Downloading: nano.tcz
Connecting to proxy:8080 (XX.XX.XX.XX:8080)
nano.tcz 100% |**************************************************************************| 144k 0:00:00 ETA
nano.tcz: OK
/usr/local/bin/unsquashfs: error while loading shared libraries: liblzma.so.5: cannot open shared object file: No such file or directory
I tried to find a similar error without success.
Configuration:
Host...: Windows 10 Pro + Virtualbox 5.1
Guest.: ALPINE LINUX 3.8 x64 + DOCKER 18.06
Perhaps you have an idea on this message:-).
It would be useful when people want a quick test run.
Currently the mount
command is avoided for the copy only, but not for the regular install command.
This means that it fails, when not running --privileged: mount: permission denied (are you root?)
If you use the same workaround there as well, that would allow running the usual tce-load -wi
:
@@ -135,7 +135,7 @@ install(){
else
[ -d /tmp/tcloop/"$APPNAME" ] || sudo /bin/mkdir -p /tmp/tcloop/"$APPNAME"
awk -v appname="/tmp/tcloop/$APPNAME" ' { if ( $2 == appname ) exit 1 }' /etc/mtab
- [ "$?" == 1 ] || sudo /bin/mount "$THISAPP" /tmp/tcloop/"$APPNAME" -t squashfs -o loop,ro 2>&1
+ [ "$?" == 1 ] || sudo /usr/local/bin/unsquashfs -f -d /tmp/tcloop/"$APPNAME" "$THISAPP" 2>&1 >/dev/null
[ "$?" == 0 ] || abort_to_saved_dir
[ "`find /tmp/tcloop/${APPNAME} -mindepth 1 -maxdepth 2 | wc -l`" -le 1 ] && EMPTYEXT=1
@@ -147,7 +147,7 @@ install(){
[ -s /etc/sysconfig/desktop ] && desktop.sh "$APPNAME"
fi
else
- sudo /bin/umount -d /tmp/tcloop/"$APPNAME"
+ sudo rm -rf /tmp/tcloop/"$APPNAME"
update_system "$THISAPP" "$APPNAME"
fi
fi
This means that it would work (similar to regular Tiny Core Linux) out-of-the-box...
User can mount a docker volume on /tmp/tcloop
, for a more similar experience.
When trying to start the machine via docker run -d 533fceaa79a9
the image outputs the docker ID as normal, but when I try to use docker attach <outputid>
docker says there are no running containers. I do docker ps -l
and it outputs:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e58037e7bd9d 533fceaa79a9 "/bin/sh" 10 seconds ago Exited (0) 9 seconds ago distracted_mccarthy
I'm new to docker and have read the help documentation but am still lost. Is this image not built to run in the background?
The squashfs-tools.tar.gz
tarball used in the 8.0 image is invalid, and as such the file is just copied to the image, rather than being unpacked.
$ docker run --rm tatsushid/tinycore:8.0-x86_64 ls -l
total 100
drwxr-xr-x 1 root root 704 Apr 10 23:04 bin
drwxrwxr-x 5 root root 360 Jun 2 07:43 dev
drwxr-xr-x 1 root root 454 Jun 2 07:43 etc
drwxrwxr-x 1 root root 4 Apr 29 03:02 home
-rwxr-xr-x 1 root root 496 Apr 10 23:04 init
drwxr-xr-x 1 root root 1104 Apr 10 23:04 lib
lrwxrwxrwx 1 root root 11 Apr 10 23:04 linuxrc -> bin/busybox
drwxrwxr-x 1 root root 0 Apr 10 23:04 mnt
drwxrwsr-x 1 root root 140 Apr 10 23:04 opt
dr-xr-xr-x 248 root root 0 Jun 2 07:43 proc
drwxrwxr-x 1 root root 36 Apr 10 23:04 root
drwxrwxr-x 1 root root 8 Apr 10 23:04 run
drwxr-xr-x 1 root root 844 Apr 10 23:04 sbin
-rw-r--r-- 1 root root 93806 Apr 29 03:02 squashfs-tools.tar.gz
dr-xr-xr-x 13 root root 0 Jun 2 07:43 sys
drwxrwxrwt 1 root root 38 Apr 29 03:02 tmp
drwxr-xr-x 1 root root 40 Apr 10 23:04 usr
drwxrwxr-x 1 root root 52 Apr 10 23:04 var
Notice the tar.gz file on the 5th line from the bottom.
There are no issues with the file in 7.2
I'd like to install some tools inside the container started based on this image but I'm failing at it.
The software can be downloaded and installed but fails to be loaded into the current image.
tc@abd4d07279b1:~$ tce-load -il gcc.tcz
mount: permission denied (are you root?)
tc@abd4d07279b1:~$ sudo tce-load -il gcc.tcz
Don't run this as root.
Any thoughts?
Hi @tatsushid, I was wondering if you have plans to publish a release for TinyCore 11.x
. I can make a pull request with the changes if you're too busy.
Thanks.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.