-
Notifications
You must be signed in to change notification settings - Fork 294
Conversation
@xeffyr Finally done. Please, check the files. |
@FreddieOliveira Don't put wrapped binaries to And where the Docker client (utility
|
Hmm, didn't know that. But Edit: nevermind, just saw that the 8086tiny does exactly that. Now I get it.
Oh yes, now we must make some organizational decisions. containerd package was already added, there's still 4 packages to go:
So, we can make a separated package for each and then create a metapackage called docker that will install all 4 of them as dependencies. Or, make a single package docker that will compile all 4 of them in the build.sh script. Which choice do you prefer? |
What about relationship between these components? I guess at least some of them, like |
Dockerd daemon and docker-cli indeed share the same version. But, despite walking togheter, they have to be downloaded from differents repositories. If it's ok downloading two packages inside the same build.sh we may build them together and forget about the metapackage. Tini can be considered a separated package. It doesn't depend on any other docker and can be installed separately, just like containerd. Here's the Ubuntu package of tini: https://packages.ubuntu.com/focal/tini. Just one observation here: tini has to be compiled statically to work with docker. Building statically on device can be accomplished by installing Libnetwork is actually a bigger project than the simple |
Packaging software built from multiple repos is ok, see |
Static binaries are safe but not portable. Why: because provided static libc is for specific Android OS version and some functionality may not work for others. That is for example DNS resolver. Its interface has been changed multiple times between OS versions and that cause errors when binary using such functionality is being executed on OS which doesn't match libc Android API level. Non-portability is one of reasons why programs should be linked dynamically and CGO should be enabled for Golang. |
Cool, just finished rewriting the build.sh script. Now it builds the
Please, check the files again.
Hmm, so now we have a little problem: the
Taken from here. But in anycase, do you see any solution for this? |
Dockerd doesn't honor existing containerd configs and creates its own configuration file everytime it starts. So, edit the config file creation code to fix paths.
@FreddieOliveira Is this okay to merge in your opinion? Non-critical problems can always be fixed later. I will have a look at removing the need to override |
docker-init can be compiled with |
I believe so. These are the same steps I used to build the docker I'm running right now on my phone. Everything is working fine and in my opinion the build script is nicely organized now.
I had to overwrite it because some tarballs have the same name. Both dockerd and docker-cli are called
Thanks!
That sounds a valid idea. Tini will have its own package, since it doesn't depend on docker, so we can try that when porting it. |
Right, that would require some improvements to the termux_step_get_source scripts and cannot be easily fixed here |
Cool. I will |
I @xeffyr @Grimler91 were you able to test it? |
@FreddieOliveira Sorry, I won't be able to test it as none of my devices is rooted. |
Another package from docker suite.Edit: the whole docker suite. Includes:
docker
. This is the docker client provided by docker-clidockerd
. This is the server daemon provided by mobydocker-proxy
provided by Libnetwork