I have to eat my words.
The Docker_Containerization_Cookbook is indeed quite a good introduction to docker.
It explains things , and it has lots of examples.
Some examples are indeed java, but it does not matter … as @Akito said you can follow the docker examples without getting into the java details.
So thank you. It is 65 pages… going to take a while to to read, but I think my next step is to see if this book can upgrade my understanding.
And, if anyone else is considering trying docker… I have looked at a lot of online documentation, including the official docker manuals, and I would recommend this book which @Rosika has discovered .
Thanks so much for letting me know how you like this source. It´s highly appreciated.
That´s something I like very much. Acquiring theoretical knowledge is one thing but there´s nothing like a few real-life examples to fully grasp how things work.
I only wish every man-page (or at least some more) would provide some examples…
You´re very welcome. I´m glad I could be of some assistance for a change.
Thanks again for the feedback and many greetings
Can you share it on Github or something? Would like to review and improve.
Can be used as what is “running” inside the container. If you have a server, just put it in a CMD statement.
Ideally though, you would use ENTRYPOINT and then provide arguments via CMD. This would be the cleanest way.
All: am I correct in assuming, after skimming your conversation, than ordinary users like me really have no interest or need to know about dockerfiles, containers, and all the rest? The conversation sounded like English, and I recognized the names of people I respect, but the content seemed to be in Klingon.
Understanding the words in English is not a problem. I am a native speaker with a BA in English. I can install an iso and operate most distros I’ve tried. Most distros use a UI that I can figure out. I can even make CLI inputs if directed–copy and paste. My concept of containers stops with coffee cups and beer mugs. How would understanding dockerfiles and containers make my life easier?
Its like this. A docker container is a bit like an Appimage, only more flexible. One day I might know enough about Docker containers to be able to use it to move software around to other people.
For example… you were interested in Waterfox… Waterfox is a bit of a pain to install, it comes as a tarfile… I would like to try and put Waterfox in a docker container so I could make it available to you and others. It would involve sending you a small file called Dockerfile. You would have to install docker, put the Dockerfile in work directory, and use it to build a docker image of Waterfox, which you could then run in a container, just like you now run whole linux distros in Gnome Boxes.
So, docker is to a single piece of software, like a VM is to a whole distro.
With one difference, I dont have to ship you the software, I just ship you the instructions for building the software, which is what a Dockerfile contains
Would you be interested in trying that? I am not ready yet , but I would like to try and set up a method of using docker to allow FOSS users to share software setups.
Plain English I hope. Typos included, I am on the phone, internet is down
So you will understand a metaphor
“Docker is a cross between firejail and appimage”
and you will understand the limitations of argueing by analogy or simile or metaphor. It can help with understanding, but you can push it too far.
So tell us what you now understand. You will be ahead of me soon.
And I must acknowledge I would not have got this far without @Akito’s tutoring.
Neville: Of course I excuse your fatfinger typos–I avoid messaging using my phone for the same reason.
It’s becoming ever clearer to me that I’m just an ordinary user. Docker, firejail, appimage, container–all are opaque jargon to me. I understand that .deb files will work with gdebi or dpkg. I can’t seem to operate in the rpm world (which excludes PCLinuxOS, Fedora, and more). Arch? Better left unsaid.
I’ve been able to use Balena Etcher because I figured out how to address an appimage as an executable, but more like a monkey see/monkey do process than understanding. The rest of the terms in the last para are mysteries to me.
As long as I stay in the .deb world, I can fumble through.
Dont underestimate yourself Bill.
You use Gnome Boxes. That is rather tricky, I found. If you can master that, you can handle any container… Boxes IS one type of container.
So what is this container concept? When it was first invented, in FreeBSD it was called jail. That is better word, because what it does is isolate stuff running inside the jail from the rest of your system.
I know you asked Bill… but may I be bold enough to say “I am interested”?
As I installed docker not so long ago on Debian10 in a vm I didn´t get beyond the point of getting hello-world to run :
docker container run hello-world
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
For more examples and ideas, visit:
In fact I don´t have the resources to download anything bigger (data-caps) but your Waterfox example seems intriguing.
Yes, of course. Thank you for being interested, Rosika.
What would happen with the Waterfox example is the Dockerfile would build a docker image which you would then run inside a docker container.
The Dockerfile is tiny, but when you build the image it would download Warerfox. If that is a bit of a large download, we could try with something smaller.
Tbe next step after your Hello-world trial, would be go to dockerhub and download the alpine image. It is small. Then you could run alpine in a container. Then you could try adding something to the alpine image to make your own special image. Try with something that does not use a gui… using X11 from a container is a bit tricky. I have not conquered it yet.