Master Node Duties?

I am new to docker containers and all associated.
I’ve read a lot, tried a lot and failed a lot.
I am setting up an ODROID MC1 with a Ubuntu 16.04 build and I have docker 1.12.6 API 1.24 installed.
The MC1 has 3 nodes + Master and they are all happy together, they see each other, I can SSH between them.
PSSH is working fine.
Docker node ls:
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
4gfg77tuayxz2yfg0yazal730 xu4-node3 Ready Active
9i7ha7ej94cgpuuh02gjz8gyd xu4-node2 Ready Active
a3yc5cjlkn043s1hge39aar4l * xu4-master Ready Active Leader
ekhsl1nbm04ngp8xiub7v3mkh xu4-node1 Ready Active

So it looks to me like everything in the swarm is talking and happy.

My goal is to run BOINC on this swarm and I’m not getting the results I am expecting.

My expectation is that I get BOINC running on the Master and then the Master “Auto” schedules the other nodes to run their own copies of BOINC from the image I created on the Master.

Only that’s not what is happening.

I created a basic Dockerfile on the master in ~/boinc/ and I have used it to docker build -t additude/boinc . and then successfully did docker run -it -d --name Seti-1 -e “boincurl=setiathome.berkeley.edu” -e “boinckey=XXX” additude/boinc

Boinc has started and has populated with WU’s and the Master is working on WU’s. It’s been up and online for over 25 hours and all is fine on the Master.

But the other nodes are still idle.

At this point, I thought the Master would be scheduling work on the nodes.

So today, I did this and I’m not certain that this is the proper procedure.

First I pushed my image up to my docker hub account after manually logging in from the Master Node.

Then I went to each node and command line manually did a docker login and then the docker run …

Docker run reported that it couldn’t find the image locally but that it found it at docker.io and the online repository.

Everything loaded up and a container was created and each node is now processing WU’s.

But, is this the way I am supposed to manage my docker swarm?

I feel like I am missing something because really, I could have just ran every “node” in the swarm on it’s own as an independent SBC and accomplished practically the same thing as I have the swarm nodes operating now.

I would appreciate if someone could help me better understand this and give me some insights and give me some clues as to expected practices?