new to docker,wonder how to read docker's source code? - docker

Don't know if it's ok to post here, new to docker and using it to build a simple app engine, so i want to look inside docker to see what's going on.
forked the source code,but you know, it's a little harder for me to read it directly,because have no idea on the whole map of it's execution flow,so i want to ask for help,how to read the source code of docker?whether anyone had write some post to explain on it?
background info: know how to use docker ,familary with it's commands
thanks for your help:)

Docker is written in go language. The two fundamental principles you need to understand are the cgroup and namespacing capabilities of the Linux kernel.
Have a look at the docker's github source code repository and contributing to docker guide.
Also, you can check this book, it explains how to extend docker.
For the source code, you can start from docker.go file.
Hope this will help.

In addition to existing comments and useful information contained in them, you could also refer to Docker Code Walk resource.

Related

Docker image with a single file Akka.net app and the Petabridge command line?

I'm writing an Akka.net hosted application that I intend to host in docker. I want to minimize the footprint so I'm making this a single file executable. But I also want to include the Petabridge command line. How would I go about doing this?
Petabridge App Template maybe what you are looking for.
You can either look at how it is done with that repo or create a new project using that template.
Please let me know if this answers your question!
EDIT
I have pasted below a reference from the repo to help you achieve this:
https://github.com/petabridge/Petabridge.App/blob/e86e40c5b7cbb0faf4228f109ce03bed3b647c4d/src/Petabridge.App/Dockerfile#L13-L32

Running karate-gatling tests in distributed mode using docker

I am somewhat new to using docker and the author mentioned that it is possible to run karate-gatling tests using docker for running distributed tests: https://github.com/intuit/karate/wiki/Distributed-Testing#gatling
Can anyone provide me an example that I can use to do this or direct me to github repo if someone already tried this?
The karate author provided a nice example to run web ui tests using docker so I am looking for something similar to this: https://github.com/intuit/karate/tree/master/examples/jobserver
This is actually part of the examples/gatling sample project, and look at the GatlingDockerJobRunner unit test.
I will edit the wiki to make this more clear. Yes, this may not be the best example, please please try it out and we will be happy to incorporate any changes you suggest.
EDIT: more info at this ticket: https://github.com/intuit/karate/issues/1220

Find the underlying Docker file you are importing from

I have a docker file that imports from a php tag:
FROM php:5.6.32-apache
Is there a way to see the underlying Dockerfile of the 5.6.32-apache, given that it is not present in https://github.com/docker-library/php/tree/master
In a general sense, the answer is "no". The Dockerfile you want may not exist at all. (There are more ways to make an image than using Dockerfile, after all.)
You can get quite a lot of information about an image using docker inspect, including "Created": "2018-01-04T04:08:09.885971603Z" for php:5.6.32-apache. Using that information I was able to dig back in the repository history to find old commits containing 5.6. Considering further, git log --grep 5.6.32 might do the trick, too, and is easier to try:
There are only two commits with 5.6.32 in the commit message. This is a good place to begin your search. More generally for 5.6, you can see that 5.6.40 was the last one, and it was removed some time ago.

Unsatisfied Link Error: Flink

I was trying to run a basic program in java by submitting to the job manager in Flink. I have a native library from open CV. When I try to submit the job I get "java.lang.UnsatisfiedLinkError: no opencv_java310 in java.library.path", however when I run it on eclipse by setting up the flink execution environment I get correct results.
I have followed some solutions from the apache flink support website:https://mail-archives.apache.org/mod_mbox/flink-user/201604.mbox/%3CCAO0MGUj_h==sw76-TWF6x8fnT_Vdc84mwu=YLejjn=bG-up+MQ#mail.gmail.com%3E and have modified my conf.yaml file accordingly (by pointing env.java.opts: -Djava.library.path="/path of Open CV library", but no luck,
Maybe my question is very basic , but still I am stuck, any help would be highly appreciated. Thanks :-)
I had a similar problem, often people references something like the "Tomcat" solution. Also, Flink with RocksDB writes the so to a tmp file, but this was also wrong.
If anyone else should pass this way- I wrote a short blog outlining the steps I took. OP's comment answer seems evident, but only after I also see the solution (when I was working on this, it was non-informative).
Shameless self promo:
https://rawkintrevo.org/2017/08/14/using-jnis-like-opencv-in-flink/

Rabbitmq erlang client build failed due to file paths problems?

I have been able to build rabbitmq server on ubuntu linux. It came already prepackaged and on making, it is able to start as a service. When i got the client source, i failed to make because it appeared like it needed a folder called ./deps/rabbitmq-server. Analysing the code, i find that the author of the client was accessing the same header files as are found in the server, using include_lib("path to rabbit.hrl e.t.c") in his header file called "amqp_client.hrl". I then decided to add rabbitmq_server in the lib dir of erlang so as its paths are automatically added on start up of the vm. But still this didnot help. There is also another folder which the client references called "rabbit_common" for an include folder he assumes would contain all the .hrl files there. Please assist me in building both the client and server on my ubuntu server, for testing.
Also, if anyone has used RabbitMQ server for IMs, please provide some benchmarks and/or your findings on its throughput, speed and number of users. How can it be compared to ejabberd?. How can one create AJAX/Jquery/Javascript clients for Web functionality?
thanks
I hope you had made some progress as far as RabbitMQ and ejabberd are concerned.
Below is a link to an interesting discussion that might be of help.
http://old.nabble.com/AMPQ-vs-XMPP-and-RabbitMQ-vs-ejabberd-td17587109.html

Resources