Installing Docker on Trisquel

9 replies [Last post]
strypey
Offline
Joined: 05/14/2015

Has anybody successfully run Docker containers on Trisquel? Can anybody tell me whether these instructions for installing Docker it on Ubuntu will work for 64-bit Trisquel 7?
https://docs.docker.com/engine/installation/linux/ubuntulinux/

I'm aware Trisquel is built on top of Ubuntu Trusty (14.04 LTS), which according to the documentation is supported by Docker. The kernel on release was 3.13, and uname -r confirms that's the version I'm running, so that's supported. So far so good.

The documentation tells me to add their APT repo. Is there a version of Docker already available in the Trisquel repos? If so, what's the package name?

Documentation also tells me that Trusty needs a linux-image-extra package, and suggests this command:
$ sudo apt-get install linux-image-extra-$(uname -r)

Will this work with the Trisquel repo?

Another more general question, is it recommended to use Trisquel as a server OS? Is there a fully libre distro that would be better for server use? I'm aware Debian is widely used as a server and I could use that without any non-free add-ons.

jxself
Offline
Joined: 09/13/2010

I use Trisquel for servers for many years just fine. I definitely recommend it over other GNU/Linux distros! For adding other repos, BEWARE! The challenge with going to other places is that they've not been reviewed & vetted by the Trisquel team as being free of freedom problems (even small, tiny, microscopic ones that someone might not even pick up on without careful examination.) So: BEWARE!

strypey
Offline
Joined: 05/14/2015

OK, thanks for the info. So you're advising against adding the Docker repo, is there any way to install and use Docker on Trisquel without adding their repo? Otherwise I'll probably just install Debian to play with Docker.

I did manage to install something from the Trisquel repos with the command:
sudo apt-get install docker

...but I suspect it's not the Docker I want, because none of the instructions I'm trying to follow for what to do after installing Docker seem to work:
https://docs.docker.com/engine/installation/linux/ubuntulinux/
https://www.liquidweb.com/kb/how-to-install-docker-on-ubuntu-14-04-lts/

In fact, they talk about a package called 'docker-engine', which doesn't seem to be in the repos.

Magic Banana

I am a member!

I am a translator!

Offline
Joined: 07/24/2010

The "docker" package in Trisquel's repository is not what you want:
$ apt-cache show docker
(...)
Description-en: System tray for KDE3/GNOME2 docklet applications
Docker is a docking application (WindowMaker dock app) which acts as a system
tray for any desktop environment, allowing you to have a system tray without
running the KDE/GNOME panel Docker was designed to work with Openbox 2, but it
should work fine in any window manager.
(...)

I have never heard of any freedom issues pertaining to Docker. I believe Docker's developers can be trusted. They are administrating the PPA (your first link). There is no additional third party you would have to trust if you decide to use the PPA. That said, it is possible (but not likely, imho) that Docker's developers do not use the published source code to build the .deb package but a version with, maybe, malware. If you fear that, build from source.

strypey
Offline
Joined: 05/14/2015

Also, @cmhobbs said on GNU Social that there are some questions about whether Docker is properly freedom-respecting. Can anyone provide further information/ links about this?

strypey
Offline
Joined: 05/14/2015

Supplied through other channels by C Hobbs:
https://lists.gnu.org/archive/html/libreplanet-discuss/2016-04/msg00103.html

Reading through it, there are concerns about DockerHub using some proprietary software on their server, and supplying non-free software pre-packaged in containers, without clearly labelling it as such. You don't have to use DockerHub to use Docker, but Docker does point to the DockerHub repositories by default. I think this email sums it up:
https://lists.gnu.org/archive/html/libreplanet-discuss/2016-04/msg00137.html

Someone else griped about the Apache 2.0 license not being copyleft (it is endorsed by the FSF as the preferred non-copyleft license though), and said they prefer GNU GUIX. I'd like to learn more about GUIX, but from what I've read so far at doesn't seem to be the same kind of software. Docker is for provisioning server applications in containers, while from what little I've read so far GUIX appears to be a package manager akin to APT or YUM. Keen to learn more though.

alimiracle
Offline
Joined: 01/18/2014

docker in Trisquel repo
you can install it
apt-get install docker.io

t3g
t3g
Offline
Joined: 05/15/2011

Yup, Trisquel 8 will have a more recent version that is pretty capable: http://packages.ubuntu.com/xenial/docker.io

strypey
Offline
Joined: 05/14/2015

Thanks for this, I will try it today. Thanks also to MagicBanana for the clarification about the other "Docker", and advice about using the Docker PPA.

In theory, any piece of free code software should run on any GNU/Linux distro. But when one is learning a new piece of software, particularly one designed for server use, the instructions are often quite distro-specific. I was going to install Debian for testing Docker, but my friend who is encouraging me to learn it reckoned it would be worth trying to install it on my existing Trisquel instance, and the assurance by JXSelf that Trisquel is suitable for server use convinced me to give it a try. I'll report back on how it goes.

EDIT: The 'docker.io' package seems to have installed. I ran the 'Hello World' test (which does involve the non-free DockerHub server - eek!) and it seemed to work. However, in the instructions for Ubuntu 14.04 (which Trisquel is based on), it says:

"For Ubuntu Trusty, Wily, and Xenial, it’s recommended to install the linux-image-extra kernel package. The linux-image-extra package allows you use the aufs storage driver."

I tried to follow the instructions here:
https://docs.docker.com/engine/installation/linux/ubuntulinux/

...but apparently I am using a "lowlatency" kernel and there is no linux-image-extra packages available for that kernel. Will this matter? If so, do I need to swap out my kernel? If so, how do I do that?

strypey
Offline
Joined: 05/14/2015

Just started learning Docker, with some excellent guidance from a good friend of mine, who shared these resources:
https://github.com/veggiemonk/awesome-docker
https://docs.docker.com/v1.8/userguide/dockerimages/

I SSH'd into my desktop from my laptop, pulled a Debian image, set up a container, set up a webserver, and served "hello" to a text browser! Next challenge is to install a headless system, install Docker, pull the Trisquel image, and try to run Trisquel in a container!

BTW I can see why some folks are concerned about the tight integration with DockerHub. The obvious solutions are either a libre Docker image registry, or a filter that can be applied to the images on DockerHub, to only make the libre ones available for pulling. Once one (or both) of these are in place, a modification can be made to the version of Docker distributed with free distros to change the default registry to the libre one, or to implement the filter. This is a very fixable, peripheral problem with an otherwise very useful, powerful piece of free software.

GNU Guix looks like it will become a viable alternative to Docker, and the libre image registry set up to work with Docker could be set up to also work with Guix. But for now, it's bleeding edge software, with the container functions only recently hacked onto the package manager. Docker appears to be the more mature package for the purpose for the time being.