Upload
willy-wilimek
View
183
Download
5
Embed Size (px)
Citation preview
Building a Raspberry PI Cluster + Docker Swarm
ABOUT ME
Will WilimekTwitter willywosWebsite wosnetnet
Please Sign My Guestbookhttpswills-guestbookherokuappcom
Work Prositions Inc
MATERIALS
RASPBERRY PI GET LIKE 3 OR 4 OF THESE
Amazon $3570 + PrimehttpswwwamazoncomRaspberry-Model-A1-2GHz-64-bit-quad-coredpB01CD5VC92
Adafruit Sparkfun
SD CARDS
Amazon $820 + PrimehttpswwwamazoncomgpproductB004ZIENBA
1 FOR EACH PI 8GB OR 16GB
ETHERNET SWITCH
Amazon $995 + PrimehttpswwwamazoncomgpproductB000FNFSPY
1 OF THESE BUT MAKE SURE YOU HAVE ENOUGH PORTS
USB CHARGE HUB
Amazon $899httpswwwamazoncomgpproductB013OVOO6M
1 OF THESE BUT MAKE SURE YOU HAVE ENOUGH PORTS
SPACERS
Amazon $890 + PRIMEhttpswwwamazoncomgpproductB06XW978ZP
YOU NEED THESE IF YOU PLAN TO STACK YOUR PIrsquoS
ETHERNET CABLES
Amazon $795httpswwwamazoncomgpproductB01HC11V4I
GET THESE FROM YOUR WORK
MICRO USB CABLES
Amazon 4PACK $999 PRIMEhttpswwwamazoncomAnker-4-Pack-PowerLine-Micro-USBdpB015XR60MQ
GET THESE FROM YOUR WORK
USB COMPUTER FAN
Amazon $1400httpswwwamazoncomCoolerguys-Dual-80mm-Cooling-FansdpB002NVC1DS
STEAL THESE FROM YOUR OLD DESKTOPS AT WORK
TOTAL COST
LOTS OF $$$ LIKE $240 WITH 4 PIrsquoS
BEFORE YOU PUT IT ALL TOGETHER
FLASH THE SDCARDS
WHAT IS HYPRIOT (HIP-RIOT)
HYPRIOT IS AN OS THATrsquoS ALREADY LOADED WITH DOCKER + DOCKER SWARM amp BUILT FOR ARM
HTTPBLOGHYPRIOTCOM
HOW TO FLASH THE SD-CARDS
$ curl -O curl -O httpsrawgithubusercontentcomhypriotflashmaster$(uname -s)flash$ chmod +x flash$ sudo mv flash usrlocalbinflash
DOWNLOAD FLASH
PLUG IN SDCARD RUN FLASH
$flash mdash-hostname sw-pi1 httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
$flash mdash-hostname sw-pi2 httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
$flash mdash-hostname sw-pi3 httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
MAKE SURE TO CHANGE THE HOSTNAME ARGUMENT $flash mdash-hostname black-pearl httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
IT SHOULD LOOK LIKE THIS
PUT THE SD CARDS INTO THE RASPBERRY PI
PLUG EVERYTHING IN THEN POWER IT UP
A SHEEP A DRUM AND A SNAKE FELL OFF A CLIFF
BAA-DUM-TSS
I LOVE THE SWARMA ITrsquoS SO EASY ITrsquoS BIGLY WINNING
Donald Trump
$ ssh pirate1921680100$ docker swarm init
CREATING THE DOCKER SWARM
Swarm initialized current node (mxgp6ta0yln3hwqrn2iawnvdh) is now a manager
To add a worker to this swarm run the following command
docker swarm join --token SWMTKN-1-4rmlnoly0tr652k1xjgbm5xwpx12l2wa8kpzwlr7c3rnyo81fl-e9rsyimu82cle1nbqbqm8q4er 19216801002377
To add a manager to this swarm run docker swarm join-token manager and follow the instructions
DO THIS ON THE PI YOU WANT AS THE MANAGER
$ ssh pirate1921680101$ docker swarm join --token SWMTKN-1-4rmlnoly0tr652k1xjgbm5xwpx12l2wa8kpzwlr7c3rnyo81fl-e9rsyimu82cle1nbqbqm8q4er 19216801002377
This node joined a swarm as a worker
ADDING WORKERS DO THIS FOR ALL THE OTHER RASPBERRY PIrsquoS
VIEWING YOUR NODES$ docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
a1s9roh5aso7nvactav39l26s sw-pi1 Ready Active
a8lkxhphl2dhxu1ht35xhr1k2 black-pearl Ready Active Leader
jc33a76532hlyen9rbei3rnz9 sw-pi2 Ready Active
nildn6z5jwpfo8me1vzdy8t30 sw-pi3 Ready Active
CREATE A SERVICE
$ docker service create --name whoami -p 80808000 hypriotrpi-whoami
SIMPLE EXAMPLE OF A HYPRIOT DOCKER IMAGE
SCALE THE SERVICE
$ docker service scale whoami=4 whoami scaled to 4
RUN THE SERVICE ON ALL THE NODES
$ docker service ls ID NAME MODE REPLICAS IMAGE h8gin96aen81 whoami replicated 11 hypriotrpi-whoamilatest
$ docker service ls ID NAME MODE REPLICAS IMAGE h8gin96aen81 whoami replicated 44 hypriotrpi-whoamilatest
VERIFY THE NODE IS RUNNING THE SERVICE
$ ssh pirate1921680101
HypriotOSarmv7 piratesw-pi1 in ~
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 01bf2cc93a71 rpi-whoami http 2 minutes ago Up 2 minutes 8000tcp whoami27d1
$ curl -4 localhost8000
Im bce5eaff8433c
OH YEAH
SCALE IT BACK DOWN
$ docker service scale whoami=0 whoami scaled to 0
DO THIS ON THE MANAGER PI
DEPLOY YOUR OWN GO APP TO THE CLUSTER
BUILD YOUR DOCKER IMAGE ON THE MANAGER PIFROM golang FROM alexellis2go-armhf175 WORKDIR gosrcwelpweather ADD gosrcwelpweather
ENV OWM_API_KEY ltinsert_api_keygt RUN go get -d -v RUN go install -v RUN go build RUN env GOOS=linux GOARCH=arm GOARM=5 go build ENTRYPOINT welpweather EXPOSE 6969
BUILD THE NEW DOCKERFILE$ docker build -t willywoswelpweather Step 99 EXPOSE 6969 ---gt Running in 68d8ccb0302c ---gt 0c485fc927f9
Removing intermediate container 68d8ccb0302c
Successfully built 0c485fc927f9
VERIFY THAT IMAGE IS WORKINGDo this from your host computer
telnet 1921680100 6969
YOU SHOULD SEE THIS
LAUNCH AND SCALE THE SERVICE$ docker service create mdash-name welpweather mdash-publish 69696969 willywoswelpweather
$ docker service scale welpweather=3
$ docker container stop fbdf88debc8f
VERIFY THE SERVICE RUNS ON THE OTHER PIrsquoS$ docker service ls ID NAME MODE REPLICAS IMAGE nj4gv702ha84 whoami replicated 00 hypriotrpi-whoamilatest u7pz5yp2ebm5 welpweather replicated 33 willywoswelpweather
$ telnet 1921680101 6969
OH YEAH
SCALE IT BACK DOWN
$ docker service scale welpweather=0 welpweather scaled to 0
DO THIS ON THE MANAGER PI
HELPFUL THINGS$ docker node ps
$ docker service ltservice-namegt logs
$ docker swarm join-token worker
$ docker service update --image hubdockercomimage service
REVIEW 1) CREATED A PI CLUSTER 2) RAN A SERVICE 3) DEPLOYED OUR OWN GO APP 4) PROFIT
THANK YOU
Please Sign My Guestbookhttpswills-guestbookherokuappcom
Website wosnetnet
ABOUT ME
Will WilimekTwitter willywosWebsite wosnetnet
Please Sign My Guestbookhttpswills-guestbookherokuappcom
Work Prositions Inc
MATERIALS
RASPBERRY PI GET LIKE 3 OR 4 OF THESE
Amazon $3570 + PrimehttpswwwamazoncomRaspberry-Model-A1-2GHz-64-bit-quad-coredpB01CD5VC92
Adafruit Sparkfun
SD CARDS
Amazon $820 + PrimehttpswwwamazoncomgpproductB004ZIENBA
1 FOR EACH PI 8GB OR 16GB
ETHERNET SWITCH
Amazon $995 + PrimehttpswwwamazoncomgpproductB000FNFSPY
1 OF THESE BUT MAKE SURE YOU HAVE ENOUGH PORTS
USB CHARGE HUB
Amazon $899httpswwwamazoncomgpproductB013OVOO6M
1 OF THESE BUT MAKE SURE YOU HAVE ENOUGH PORTS
SPACERS
Amazon $890 + PRIMEhttpswwwamazoncomgpproductB06XW978ZP
YOU NEED THESE IF YOU PLAN TO STACK YOUR PIrsquoS
ETHERNET CABLES
Amazon $795httpswwwamazoncomgpproductB01HC11V4I
GET THESE FROM YOUR WORK
MICRO USB CABLES
Amazon 4PACK $999 PRIMEhttpswwwamazoncomAnker-4-Pack-PowerLine-Micro-USBdpB015XR60MQ
GET THESE FROM YOUR WORK
USB COMPUTER FAN
Amazon $1400httpswwwamazoncomCoolerguys-Dual-80mm-Cooling-FansdpB002NVC1DS
STEAL THESE FROM YOUR OLD DESKTOPS AT WORK
TOTAL COST
LOTS OF $$$ LIKE $240 WITH 4 PIrsquoS
BEFORE YOU PUT IT ALL TOGETHER
FLASH THE SDCARDS
WHAT IS HYPRIOT (HIP-RIOT)
HYPRIOT IS AN OS THATrsquoS ALREADY LOADED WITH DOCKER + DOCKER SWARM amp BUILT FOR ARM
HTTPBLOGHYPRIOTCOM
HOW TO FLASH THE SD-CARDS
$ curl -O curl -O httpsrawgithubusercontentcomhypriotflashmaster$(uname -s)flash$ chmod +x flash$ sudo mv flash usrlocalbinflash
DOWNLOAD FLASH
PLUG IN SDCARD RUN FLASH
$flash mdash-hostname sw-pi1 httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
$flash mdash-hostname sw-pi2 httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
$flash mdash-hostname sw-pi3 httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
MAKE SURE TO CHANGE THE HOSTNAME ARGUMENT $flash mdash-hostname black-pearl httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
IT SHOULD LOOK LIKE THIS
PUT THE SD CARDS INTO THE RASPBERRY PI
PLUG EVERYTHING IN THEN POWER IT UP
A SHEEP A DRUM AND A SNAKE FELL OFF A CLIFF
BAA-DUM-TSS
I LOVE THE SWARMA ITrsquoS SO EASY ITrsquoS BIGLY WINNING
Donald Trump
$ ssh pirate1921680100$ docker swarm init
CREATING THE DOCKER SWARM
Swarm initialized current node (mxgp6ta0yln3hwqrn2iawnvdh) is now a manager
To add a worker to this swarm run the following command
docker swarm join --token SWMTKN-1-4rmlnoly0tr652k1xjgbm5xwpx12l2wa8kpzwlr7c3rnyo81fl-e9rsyimu82cle1nbqbqm8q4er 19216801002377
To add a manager to this swarm run docker swarm join-token manager and follow the instructions
DO THIS ON THE PI YOU WANT AS THE MANAGER
$ ssh pirate1921680101$ docker swarm join --token SWMTKN-1-4rmlnoly0tr652k1xjgbm5xwpx12l2wa8kpzwlr7c3rnyo81fl-e9rsyimu82cle1nbqbqm8q4er 19216801002377
This node joined a swarm as a worker
ADDING WORKERS DO THIS FOR ALL THE OTHER RASPBERRY PIrsquoS
VIEWING YOUR NODES$ docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
a1s9roh5aso7nvactav39l26s sw-pi1 Ready Active
a8lkxhphl2dhxu1ht35xhr1k2 black-pearl Ready Active Leader
jc33a76532hlyen9rbei3rnz9 sw-pi2 Ready Active
nildn6z5jwpfo8me1vzdy8t30 sw-pi3 Ready Active
CREATE A SERVICE
$ docker service create --name whoami -p 80808000 hypriotrpi-whoami
SIMPLE EXAMPLE OF A HYPRIOT DOCKER IMAGE
SCALE THE SERVICE
$ docker service scale whoami=4 whoami scaled to 4
RUN THE SERVICE ON ALL THE NODES
$ docker service ls ID NAME MODE REPLICAS IMAGE h8gin96aen81 whoami replicated 11 hypriotrpi-whoamilatest
$ docker service ls ID NAME MODE REPLICAS IMAGE h8gin96aen81 whoami replicated 44 hypriotrpi-whoamilatest
VERIFY THE NODE IS RUNNING THE SERVICE
$ ssh pirate1921680101
HypriotOSarmv7 piratesw-pi1 in ~
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 01bf2cc93a71 rpi-whoami http 2 minutes ago Up 2 minutes 8000tcp whoami27d1
$ curl -4 localhost8000
Im bce5eaff8433c
OH YEAH
SCALE IT BACK DOWN
$ docker service scale whoami=0 whoami scaled to 0
DO THIS ON THE MANAGER PI
DEPLOY YOUR OWN GO APP TO THE CLUSTER
BUILD YOUR DOCKER IMAGE ON THE MANAGER PIFROM golang FROM alexellis2go-armhf175 WORKDIR gosrcwelpweather ADD gosrcwelpweather
ENV OWM_API_KEY ltinsert_api_keygt RUN go get -d -v RUN go install -v RUN go build RUN env GOOS=linux GOARCH=arm GOARM=5 go build ENTRYPOINT welpweather EXPOSE 6969
BUILD THE NEW DOCKERFILE$ docker build -t willywoswelpweather Step 99 EXPOSE 6969 ---gt Running in 68d8ccb0302c ---gt 0c485fc927f9
Removing intermediate container 68d8ccb0302c
Successfully built 0c485fc927f9
VERIFY THAT IMAGE IS WORKINGDo this from your host computer
telnet 1921680100 6969
YOU SHOULD SEE THIS
LAUNCH AND SCALE THE SERVICE$ docker service create mdash-name welpweather mdash-publish 69696969 willywoswelpweather
$ docker service scale welpweather=3
$ docker container stop fbdf88debc8f
VERIFY THE SERVICE RUNS ON THE OTHER PIrsquoS$ docker service ls ID NAME MODE REPLICAS IMAGE nj4gv702ha84 whoami replicated 00 hypriotrpi-whoamilatest u7pz5yp2ebm5 welpweather replicated 33 willywoswelpweather
$ telnet 1921680101 6969
OH YEAH
SCALE IT BACK DOWN
$ docker service scale welpweather=0 welpweather scaled to 0
DO THIS ON THE MANAGER PI
HELPFUL THINGS$ docker node ps
$ docker service ltservice-namegt logs
$ docker swarm join-token worker
$ docker service update --image hubdockercomimage service
REVIEW 1) CREATED A PI CLUSTER 2) RAN A SERVICE 3) DEPLOYED OUR OWN GO APP 4) PROFIT
THANK YOU
Please Sign My Guestbookhttpswills-guestbookherokuappcom
Website wosnetnet
MATERIALS
RASPBERRY PI GET LIKE 3 OR 4 OF THESE
Amazon $3570 + PrimehttpswwwamazoncomRaspberry-Model-A1-2GHz-64-bit-quad-coredpB01CD5VC92
Adafruit Sparkfun
SD CARDS
Amazon $820 + PrimehttpswwwamazoncomgpproductB004ZIENBA
1 FOR EACH PI 8GB OR 16GB
ETHERNET SWITCH
Amazon $995 + PrimehttpswwwamazoncomgpproductB000FNFSPY
1 OF THESE BUT MAKE SURE YOU HAVE ENOUGH PORTS
USB CHARGE HUB
Amazon $899httpswwwamazoncomgpproductB013OVOO6M
1 OF THESE BUT MAKE SURE YOU HAVE ENOUGH PORTS
SPACERS
Amazon $890 + PRIMEhttpswwwamazoncomgpproductB06XW978ZP
YOU NEED THESE IF YOU PLAN TO STACK YOUR PIrsquoS
ETHERNET CABLES
Amazon $795httpswwwamazoncomgpproductB01HC11V4I
GET THESE FROM YOUR WORK
MICRO USB CABLES
Amazon 4PACK $999 PRIMEhttpswwwamazoncomAnker-4-Pack-PowerLine-Micro-USBdpB015XR60MQ
GET THESE FROM YOUR WORK
USB COMPUTER FAN
Amazon $1400httpswwwamazoncomCoolerguys-Dual-80mm-Cooling-FansdpB002NVC1DS
STEAL THESE FROM YOUR OLD DESKTOPS AT WORK
TOTAL COST
LOTS OF $$$ LIKE $240 WITH 4 PIrsquoS
BEFORE YOU PUT IT ALL TOGETHER
FLASH THE SDCARDS
WHAT IS HYPRIOT (HIP-RIOT)
HYPRIOT IS AN OS THATrsquoS ALREADY LOADED WITH DOCKER + DOCKER SWARM amp BUILT FOR ARM
HTTPBLOGHYPRIOTCOM
HOW TO FLASH THE SD-CARDS
$ curl -O curl -O httpsrawgithubusercontentcomhypriotflashmaster$(uname -s)flash$ chmod +x flash$ sudo mv flash usrlocalbinflash
DOWNLOAD FLASH
PLUG IN SDCARD RUN FLASH
$flash mdash-hostname sw-pi1 httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
$flash mdash-hostname sw-pi2 httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
$flash mdash-hostname sw-pi3 httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
MAKE SURE TO CHANGE THE HOSTNAME ARGUMENT $flash mdash-hostname black-pearl httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
IT SHOULD LOOK LIKE THIS
PUT THE SD CARDS INTO THE RASPBERRY PI
PLUG EVERYTHING IN THEN POWER IT UP
A SHEEP A DRUM AND A SNAKE FELL OFF A CLIFF
BAA-DUM-TSS
I LOVE THE SWARMA ITrsquoS SO EASY ITrsquoS BIGLY WINNING
Donald Trump
$ ssh pirate1921680100$ docker swarm init
CREATING THE DOCKER SWARM
Swarm initialized current node (mxgp6ta0yln3hwqrn2iawnvdh) is now a manager
To add a worker to this swarm run the following command
docker swarm join --token SWMTKN-1-4rmlnoly0tr652k1xjgbm5xwpx12l2wa8kpzwlr7c3rnyo81fl-e9rsyimu82cle1nbqbqm8q4er 19216801002377
To add a manager to this swarm run docker swarm join-token manager and follow the instructions
DO THIS ON THE PI YOU WANT AS THE MANAGER
$ ssh pirate1921680101$ docker swarm join --token SWMTKN-1-4rmlnoly0tr652k1xjgbm5xwpx12l2wa8kpzwlr7c3rnyo81fl-e9rsyimu82cle1nbqbqm8q4er 19216801002377
This node joined a swarm as a worker
ADDING WORKERS DO THIS FOR ALL THE OTHER RASPBERRY PIrsquoS
VIEWING YOUR NODES$ docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
a1s9roh5aso7nvactav39l26s sw-pi1 Ready Active
a8lkxhphl2dhxu1ht35xhr1k2 black-pearl Ready Active Leader
jc33a76532hlyen9rbei3rnz9 sw-pi2 Ready Active
nildn6z5jwpfo8me1vzdy8t30 sw-pi3 Ready Active
CREATE A SERVICE
$ docker service create --name whoami -p 80808000 hypriotrpi-whoami
SIMPLE EXAMPLE OF A HYPRIOT DOCKER IMAGE
SCALE THE SERVICE
$ docker service scale whoami=4 whoami scaled to 4
RUN THE SERVICE ON ALL THE NODES
$ docker service ls ID NAME MODE REPLICAS IMAGE h8gin96aen81 whoami replicated 11 hypriotrpi-whoamilatest
$ docker service ls ID NAME MODE REPLICAS IMAGE h8gin96aen81 whoami replicated 44 hypriotrpi-whoamilatest
VERIFY THE NODE IS RUNNING THE SERVICE
$ ssh pirate1921680101
HypriotOSarmv7 piratesw-pi1 in ~
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 01bf2cc93a71 rpi-whoami http 2 minutes ago Up 2 minutes 8000tcp whoami27d1
$ curl -4 localhost8000
Im bce5eaff8433c
OH YEAH
SCALE IT BACK DOWN
$ docker service scale whoami=0 whoami scaled to 0
DO THIS ON THE MANAGER PI
DEPLOY YOUR OWN GO APP TO THE CLUSTER
BUILD YOUR DOCKER IMAGE ON THE MANAGER PIFROM golang FROM alexellis2go-armhf175 WORKDIR gosrcwelpweather ADD gosrcwelpweather
ENV OWM_API_KEY ltinsert_api_keygt RUN go get -d -v RUN go install -v RUN go build RUN env GOOS=linux GOARCH=arm GOARM=5 go build ENTRYPOINT welpweather EXPOSE 6969
BUILD THE NEW DOCKERFILE$ docker build -t willywoswelpweather Step 99 EXPOSE 6969 ---gt Running in 68d8ccb0302c ---gt 0c485fc927f9
Removing intermediate container 68d8ccb0302c
Successfully built 0c485fc927f9
VERIFY THAT IMAGE IS WORKINGDo this from your host computer
telnet 1921680100 6969
YOU SHOULD SEE THIS
LAUNCH AND SCALE THE SERVICE$ docker service create mdash-name welpweather mdash-publish 69696969 willywoswelpweather
$ docker service scale welpweather=3
$ docker container stop fbdf88debc8f
VERIFY THE SERVICE RUNS ON THE OTHER PIrsquoS$ docker service ls ID NAME MODE REPLICAS IMAGE nj4gv702ha84 whoami replicated 00 hypriotrpi-whoamilatest u7pz5yp2ebm5 welpweather replicated 33 willywoswelpweather
$ telnet 1921680101 6969
OH YEAH
SCALE IT BACK DOWN
$ docker service scale welpweather=0 welpweather scaled to 0
DO THIS ON THE MANAGER PI
HELPFUL THINGS$ docker node ps
$ docker service ltservice-namegt logs
$ docker swarm join-token worker
$ docker service update --image hubdockercomimage service
REVIEW 1) CREATED A PI CLUSTER 2) RAN A SERVICE 3) DEPLOYED OUR OWN GO APP 4) PROFIT
THANK YOU
Please Sign My Guestbookhttpswills-guestbookherokuappcom
Website wosnetnet
RASPBERRY PI GET LIKE 3 OR 4 OF THESE
Amazon $3570 + PrimehttpswwwamazoncomRaspberry-Model-A1-2GHz-64-bit-quad-coredpB01CD5VC92
Adafruit Sparkfun
SD CARDS
Amazon $820 + PrimehttpswwwamazoncomgpproductB004ZIENBA
1 FOR EACH PI 8GB OR 16GB
ETHERNET SWITCH
Amazon $995 + PrimehttpswwwamazoncomgpproductB000FNFSPY
1 OF THESE BUT MAKE SURE YOU HAVE ENOUGH PORTS
USB CHARGE HUB
Amazon $899httpswwwamazoncomgpproductB013OVOO6M
1 OF THESE BUT MAKE SURE YOU HAVE ENOUGH PORTS
SPACERS
Amazon $890 + PRIMEhttpswwwamazoncomgpproductB06XW978ZP
YOU NEED THESE IF YOU PLAN TO STACK YOUR PIrsquoS
ETHERNET CABLES
Amazon $795httpswwwamazoncomgpproductB01HC11V4I
GET THESE FROM YOUR WORK
MICRO USB CABLES
Amazon 4PACK $999 PRIMEhttpswwwamazoncomAnker-4-Pack-PowerLine-Micro-USBdpB015XR60MQ
GET THESE FROM YOUR WORK
USB COMPUTER FAN
Amazon $1400httpswwwamazoncomCoolerguys-Dual-80mm-Cooling-FansdpB002NVC1DS
STEAL THESE FROM YOUR OLD DESKTOPS AT WORK
TOTAL COST
LOTS OF $$$ LIKE $240 WITH 4 PIrsquoS
BEFORE YOU PUT IT ALL TOGETHER
FLASH THE SDCARDS
WHAT IS HYPRIOT (HIP-RIOT)
HYPRIOT IS AN OS THATrsquoS ALREADY LOADED WITH DOCKER + DOCKER SWARM amp BUILT FOR ARM
HTTPBLOGHYPRIOTCOM
HOW TO FLASH THE SD-CARDS
$ curl -O curl -O httpsrawgithubusercontentcomhypriotflashmaster$(uname -s)flash$ chmod +x flash$ sudo mv flash usrlocalbinflash
DOWNLOAD FLASH
PLUG IN SDCARD RUN FLASH
$flash mdash-hostname sw-pi1 httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
$flash mdash-hostname sw-pi2 httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
$flash mdash-hostname sw-pi3 httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
MAKE SURE TO CHANGE THE HOSTNAME ARGUMENT $flash mdash-hostname black-pearl httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
IT SHOULD LOOK LIKE THIS
PUT THE SD CARDS INTO THE RASPBERRY PI
PLUG EVERYTHING IN THEN POWER IT UP
A SHEEP A DRUM AND A SNAKE FELL OFF A CLIFF
BAA-DUM-TSS
I LOVE THE SWARMA ITrsquoS SO EASY ITrsquoS BIGLY WINNING
Donald Trump
$ ssh pirate1921680100$ docker swarm init
CREATING THE DOCKER SWARM
Swarm initialized current node (mxgp6ta0yln3hwqrn2iawnvdh) is now a manager
To add a worker to this swarm run the following command
docker swarm join --token SWMTKN-1-4rmlnoly0tr652k1xjgbm5xwpx12l2wa8kpzwlr7c3rnyo81fl-e9rsyimu82cle1nbqbqm8q4er 19216801002377
To add a manager to this swarm run docker swarm join-token manager and follow the instructions
DO THIS ON THE PI YOU WANT AS THE MANAGER
$ ssh pirate1921680101$ docker swarm join --token SWMTKN-1-4rmlnoly0tr652k1xjgbm5xwpx12l2wa8kpzwlr7c3rnyo81fl-e9rsyimu82cle1nbqbqm8q4er 19216801002377
This node joined a swarm as a worker
ADDING WORKERS DO THIS FOR ALL THE OTHER RASPBERRY PIrsquoS
VIEWING YOUR NODES$ docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
a1s9roh5aso7nvactav39l26s sw-pi1 Ready Active
a8lkxhphl2dhxu1ht35xhr1k2 black-pearl Ready Active Leader
jc33a76532hlyen9rbei3rnz9 sw-pi2 Ready Active
nildn6z5jwpfo8me1vzdy8t30 sw-pi3 Ready Active
CREATE A SERVICE
$ docker service create --name whoami -p 80808000 hypriotrpi-whoami
SIMPLE EXAMPLE OF A HYPRIOT DOCKER IMAGE
SCALE THE SERVICE
$ docker service scale whoami=4 whoami scaled to 4
RUN THE SERVICE ON ALL THE NODES
$ docker service ls ID NAME MODE REPLICAS IMAGE h8gin96aen81 whoami replicated 11 hypriotrpi-whoamilatest
$ docker service ls ID NAME MODE REPLICAS IMAGE h8gin96aen81 whoami replicated 44 hypriotrpi-whoamilatest
VERIFY THE NODE IS RUNNING THE SERVICE
$ ssh pirate1921680101
HypriotOSarmv7 piratesw-pi1 in ~
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 01bf2cc93a71 rpi-whoami http 2 minutes ago Up 2 minutes 8000tcp whoami27d1
$ curl -4 localhost8000
Im bce5eaff8433c
OH YEAH
SCALE IT BACK DOWN
$ docker service scale whoami=0 whoami scaled to 0
DO THIS ON THE MANAGER PI
DEPLOY YOUR OWN GO APP TO THE CLUSTER
BUILD YOUR DOCKER IMAGE ON THE MANAGER PIFROM golang FROM alexellis2go-armhf175 WORKDIR gosrcwelpweather ADD gosrcwelpweather
ENV OWM_API_KEY ltinsert_api_keygt RUN go get -d -v RUN go install -v RUN go build RUN env GOOS=linux GOARCH=arm GOARM=5 go build ENTRYPOINT welpweather EXPOSE 6969
BUILD THE NEW DOCKERFILE$ docker build -t willywoswelpweather Step 99 EXPOSE 6969 ---gt Running in 68d8ccb0302c ---gt 0c485fc927f9
Removing intermediate container 68d8ccb0302c
Successfully built 0c485fc927f9
VERIFY THAT IMAGE IS WORKINGDo this from your host computer
telnet 1921680100 6969
YOU SHOULD SEE THIS
LAUNCH AND SCALE THE SERVICE$ docker service create mdash-name welpweather mdash-publish 69696969 willywoswelpweather
$ docker service scale welpweather=3
$ docker container stop fbdf88debc8f
VERIFY THE SERVICE RUNS ON THE OTHER PIrsquoS$ docker service ls ID NAME MODE REPLICAS IMAGE nj4gv702ha84 whoami replicated 00 hypriotrpi-whoamilatest u7pz5yp2ebm5 welpweather replicated 33 willywoswelpweather
$ telnet 1921680101 6969
OH YEAH
SCALE IT BACK DOWN
$ docker service scale welpweather=0 welpweather scaled to 0
DO THIS ON THE MANAGER PI
HELPFUL THINGS$ docker node ps
$ docker service ltservice-namegt logs
$ docker swarm join-token worker
$ docker service update --image hubdockercomimage service
REVIEW 1) CREATED A PI CLUSTER 2) RAN A SERVICE 3) DEPLOYED OUR OWN GO APP 4) PROFIT
THANK YOU
Please Sign My Guestbookhttpswills-guestbookherokuappcom
Website wosnetnet
SD CARDS
Amazon $820 + PrimehttpswwwamazoncomgpproductB004ZIENBA
1 FOR EACH PI 8GB OR 16GB
ETHERNET SWITCH
Amazon $995 + PrimehttpswwwamazoncomgpproductB000FNFSPY
1 OF THESE BUT MAKE SURE YOU HAVE ENOUGH PORTS
USB CHARGE HUB
Amazon $899httpswwwamazoncomgpproductB013OVOO6M
1 OF THESE BUT MAKE SURE YOU HAVE ENOUGH PORTS
SPACERS
Amazon $890 + PRIMEhttpswwwamazoncomgpproductB06XW978ZP
YOU NEED THESE IF YOU PLAN TO STACK YOUR PIrsquoS
ETHERNET CABLES
Amazon $795httpswwwamazoncomgpproductB01HC11V4I
GET THESE FROM YOUR WORK
MICRO USB CABLES
Amazon 4PACK $999 PRIMEhttpswwwamazoncomAnker-4-Pack-PowerLine-Micro-USBdpB015XR60MQ
GET THESE FROM YOUR WORK
USB COMPUTER FAN
Amazon $1400httpswwwamazoncomCoolerguys-Dual-80mm-Cooling-FansdpB002NVC1DS
STEAL THESE FROM YOUR OLD DESKTOPS AT WORK
TOTAL COST
LOTS OF $$$ LIKE $240 WITH 4 PIrsquoS
BEFORE YOU PUT IT ALL TOGETHER
FLASH THE SDCARDS
WHAT IS HYPRIOT (HIP-RIOT)
HYPRIOT IS AN OS THATrsquoS ALREADY LOADED WITH DOCKER + DOCKER SWARM amp BUILT FOR ARM
HTTPBLOGHYPRIOTCOM
HOW TO FLASH THE SD-CARDS
$ curl -O curl -O httpsrawgithubusercontentcomhypriotflashmaster$(uname -s)flash$ chmod +x flash$ sudo mv flash usrlocalbinflash
DOWNLOAD FLASH
PLUG IN SDCARD RUN FLASH
$flash mdash-hostname sw-pi1 httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
$flash mdash-hostname sw-pi2 httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
$flash mdash-hostname sw-pi3 httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
MAKE SURE TO CHANGE THE HOSTNAME ARGUMENT $flash mdash-hostname black-pearl httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
IT SHOULD LOOK LIKE THIS
PUT THE SD CARDS INTO THE RASPBERRY PI
PLUG EVERYTHING IN THEN POWER IT UP
A SHEEP A DRUM AND A SNAKE FELL OFF A CLIFF
BAA-DUM-TSS
I LOVE THE SWARMA ITrsquoS SO EASY ITrsquoS BIGLY WINNING
Donald Trump
$ ssh pirate1921680100$ docker swarm init
CREATING THE DOCKER SWARM
Swarm initialized current node (mxgp6ta0yln3hwqrn2iawnvdh) is now a manager
To add a worker to this swarm run the following command
docker swarm join --token SWMTKN-1-4rmlnoly0tr652k1xjgbm5xwpx12l2wa8kpzwlr7c3rnyo81fl-e9rsyimu82cle1nbqbqm8q4er 19216801002377
To add a manager to this swarm run docker swarm join-token manager and follow the instructions
DO THIS ON THE PI YOU WANT AS THE MANAGER
$ ssh pirate1921680101$ docker swarm join --token SWMTKN-1-4rmlnoly0tr652k1xjgbm5xwpx12l2wa8kpzwlr7c3rnyo81fl-e9rsyimu82cle1nbqbqm8q4er 19216801002377
This node joined a swarm as a worker
ADDING WORKERS DO THIS FOR ALL THE OTHER RASPBERRY PIrsquoS
VIEWING YOUR NODES$ docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
a1s9roh5aso7nvactav39l26s sw-pi1 Ready Active
a8lkxhphl2dhxu1ht35xhr1k2 black-pearl Ready Active Leader
jc33a76532hlyen9rbei3rnz9 sw-pi2 Ready Active
nildn6z5jwpfo8me1vzdy8t30 sw-pi3 Ready Active
CREATE A SERVICE
$ docker service create --name whoami -p 80808000 hypriotrpi-whoami
SIMPLE EXAMPLE OF A HYPRIOT DOCKER IMAGE
SCALE THE SERVICE
$ docker service scale whoami=4 whoami scaled to 4
RUN THE SERVICE ON ALL THE NODES
$ docker service ls ID NAME MODE REPLICAS IMAGE h8gin96aen81 whoami replicated 11 hypriotrpi-whoamilatest
$ docker service ls ID NAME MODE REPLICAS IMAGE h8gin96aen81 whoami replicated 44 hypriotrpi-whoamilatest
VERIFY THE NODE IS RUNNING THE SERVICE
$ ssh pirate1921680101
HypriotOSarmv7 piratesw-pi1 in ~
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 01bf2cc93a71 rpi-whoami http 2 minutes ago Up 2 minutes 8000tcp whoami27d1
$ curl -4 localhost8000
Im bce5eaff8433c
OH YEAH
SCALE IT BACK DOWN
$ docker service scale whoami=0 whoami scaled to 0
DO THIS ON THE MANAGER PI
DEPLOY YOUR OWN GO APP TO THE CLUSTER
BUILD YOUR DOCKER IMAGE ON THE MANAGER PIFROM golang FROM alexellis2go-armhf175 WORKDIR gosrcwelpweather ADD gosrcwelpweather
ENV OWM_API_KEY ltinsert_api_keygt RUN go get -d -v RUN go install -v RUN go build RUN env GOOS=linux GOARCH=arm GOARM=5 go build ENTRYPOINT welpweather EXPOSE 6969
BUILD THE NEW DOCKERFILE$ docker build -t willywoswelpweather Step 99 EXPOSE 6969 ---gt Running in 68d8ccb0302c ---gt 0c485fc927f9
Removing intermediate container 68d8ccb0302c
Successfully built 0c485fc927f9
VERIFY THAT IMAGE IS WORKINGDo this from your host computer
telnet 1921680100 6969
YOU SHOULD SEE THIS
LAUNCH AND SCALE THE SERVICE$ docker service create mdash-name welpweather mdash-publish 69696969 willywoswelpweather
$ docker service scale welpweather=3
$ docker container stop fbdf88debc8f
VERIFY THE SERVICE RUNS ON THE OTHER PIrsquoS$ docker service ls ID NAME MODE REPLICAS IMAGE nj4gv702ha84 whoami replicated 00 hypriotrpi-whoamilatest u7pz5yp2ebm5 welpweather replicated 33 willywoswelpweather
$ telnet 1921680101 6969
OH YEAH
SCALE IT BACK DOWN
$ docker service scale welpweather=0 welpweather scaled to 0
DO THIS ON THE MANAGER PI
HELPFUL THINGS$ docker node ps
$ docker service ltservice-namegt logs
$ docker swarm join-token worker
$ docker service update --image hubdockercomimage service
REVIEW 1) CREATED A PI CLUSTER 2) RAN A SERVICE 3) DEPLOYED OUR OWN GO APP 4) PROFIT
THANK YOU
Please Sign My Guestbookhttpswills-guestbookherokuappcom
Website wosnetnet
ETHERNET SWITCH
Amazon $995 + PrimehttpswwwamazoncomgpproductB000FNFSPY
1 OF THESE BUT MAKE SURE YOU HAVE ENOUGH PORTS
USB CHARGE HUB
Amazon $899httpswwwamazoncomgpproductB013OVOO6M
1 OF THESE BUT MAKE SURE YOU HAVE ENOUGH PORTS
SPACERS
Amazon $890 + PRIMEhttpswwwamazoncomgpproductB06XW978ZP
YOU NEED THESE IF YOU PLAN TO STACK YOUR PIrsquoS
ETHERNET CABLES
Amazon $795httpswwwamazoncomgpproductB01HC11V4I
GET THESE FROM YOUR WORK
MICRO USB CABLES
Amazon 4PACK $999 PRIMEhttpswwwamazoncomAnker-4-Pack-PowerLine-Micro-USBdpB015XR60MQ
GET THESE FROM YOUR WORK
USB COMPUTER FAN
Amazon $1400httpswwwamazoncomCoolerguys-Dual-80mm-Cooling-FansdpB002NVC1DS
STEAL THESE FROM YOUR OLD DESKTOPS AT WORK
TOTAL COST
LOTS OF $$$ LIKE $240 WITH 4 PIrsquoS
BEFORE YOU PUT IT ALL TOGETHER
FLASH THE SDCARDS
WHAT IS HYPRIOT (HIP-RIOT)
HYPRIOT IS AN OS THATrsquoS ALREADY LOADED WITH DOCKER + DOCKER SWARM amp BUILT FOR ARM
HTTPBLOGHYPRIOTCOM
HOW TO FLASH THE SD-CARDS
$ curl -O curl -O httpsrawgithubusercontentcomhypriotflashmaster$(uname -s)flash$ chmod +x flash$ sudo mv flash usrlocalbinflash
DOWNLOAD FLASH
PLUG IN SDCARD RUN FLASH
$flash mdash-hostname sw-pi1 httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
$flash mdash-hostname sw-pi2 httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
$flash mdash-hostname sw-pi3 httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
MAKE SURE TO CHANGE THE HOSTNAME ARGUMENT $flash mdash-hostname black-pearl httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
IT SHOULD LOOK LIKE THIS
PUT THE SD CARDS INTO THE RASPBERRY PI
PLUG EVERYTHING IN THEN POWER IT UP
A SHEEP A DRUM AND A SNAKE FELL OFF A CLIFF
BAA-DUM-TSS
I LOVE THE SWARMA ITrsquoS SO EASY ITrsquoS BIGLY WINNING
Donald Trump
$ ssh pirate1921680100$ docker swarm init
CREATING THE DOCKER SWARM
Swarm initialized current node (mxgp6ta0yln3hwqrn2iawnvdh) is now a manager
To add a worker to this swarm run the following command
docker swarm join --token SWMTKN-1-4rmlnoly0tr652k1xjgbm5xwpx12l2wa8kpzwlr7c3rnyo81fl-e9rsyimu82cle1nbqbqm8q4er 19216801002377
To add a manager to this swarm run docker swarm join-token manager and follow the instructions
DO THIS ON THE PI YOU WANT AS THE MANAGER
$ ssh pirate1921680101$ docker swarm join --token SWMTKN-1-4rmlnoly0tr652k1xjgbm5xwpx12l2wa8kpzwlr7c3rnyo81fl-e9rsyimu82cle1nbqbqm8q4er 19216801002377
This node joined a swarm as a worker
ADDING WORKERS DO THIS FOR ALL THE OTHER RASPBERRY PIrsquoS
VIEWING YOUR NODES$ docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
a1s9roh5aso7nvactav39l26s sw-pi1 Ready Active
a8lkxhphl2dhxu1ht35xhr1k2 black-pearl Ready Active Leader
jc33a76532hlyen9rbei3rnz9 sw-pi2 Ready Active
nildn6z5jwpfo8me1vzdy8t30 sw-pi3 Ready Active
CREATE A SERVICE
$ docker service create --name whoami -p 80808000 hypriotrpi-whoami
SIMPLE EXAMPLE OF A HYPRIOT DOCKER IMAGE
SCALE THE SERVICE
$ docker service scale whoami=4 whoami scaled to 4
RUN THE SERVICE ON ALL THE NODES
$ docker service ls ID NAME MODE REPLICAS IMAGE h8gin96aen81 whoami replicated 11 hypriotrpi-whoamilatest
$ docker service ls ID NAME MODE REPLICAS IMAGE h8gin96aen81 whoami replicated 44 hypriotrpi-whoamilatest
VERIFY THE NODE IS RUNNING THE SERVICE
$ ssh pirate1921680101
HypriotOSarmv7 piratesw-pi1 in ~
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 01bf2cc93a71 rpi-whoami http 2 minutes ago Up 2 minutes 8000tcp whoami27d1
$ curl -4 localhost8000
Im bce5eaff8433c
OH YEAH
SCALE IT BACK DOWN
$ docker service scale whoami=0 whoami scaled to 0
DO THIS ON THE MANAGER PI
DEPLOY YOUR OWN GO APP TO THE CLUSTER
BUILD YOUR DOCKER IMAGE ON THE MANAGER PIFROM golang FROM alexellis2go-armhf175 WORKDIR gosrcwelpweather ADD gosrcwelpweather
ENV OWM_API_KEY ltinsert_api_keygt RUN go get -d -v RUN go install -v RUN go build RUN env GOOS=linux GOARCH=arm GOARM=5 go build ENTRYPOINT welpweather EXPOSE 6969
BUILD THE NEW DOCKERFILE$ docker build -t willywoswelpweather Step 99 EXPOSE 6969 ---gt Running in 68d8ccb0302c ---gt 0c485fc927f9
Removing intermediate container 68d8ccb0302c
Successfully built 0c485fc927f9
VERIFY THAT IMAGE IS WORKINGDo this from your host computer
telnet 1921680100 6969
YOU SHOULD SEE THIS
LAUNCH AND SCALE THE SERVICE$ docker service create mdash-name welpweather mdash-publish 69696969 willywoswelpweather
$ docker service scale welpweather=3
$ docker container stop fbdf88debc8f
VERIFY THE SERVICE RUNS ON THE OTHER PIrsquoS$ docker service ls ID NAME MODE REPLICAS IMAGE nj4gv702ha84 whoami replicated 00 hypriotrpi-whoamilatest u7pz5yp2ebm5 welpweather replicated 33 willywoswelpweather
$ telnet 1921680101 6969
OH YEAH
SCALE IT BACK DOWN
$ docker service scale welpweather=0 welpweather scaled to 0
DO THIS ON THE MANAGER PI
HELPFUL THINGS$ docker node ps
$ docker service ltservice-namegt logs
$ docker swarm join-token worker
$ docker service update --image hubdockercomimage service
REVIEW 1) CREATED A PI CLUSTER 2) RAN A SERVICE 3) DEPLOYED OUR OWN GO APP 4) PROFIT
THANK YOU
Please Sign My Guestbookhttpswills-guestbookherokuappcom
Website wosnetnet
USB CHARGE HUB
Amazon $899httpswwwamazoncomgpproductB013OVOO6M
1 OF THESE BUT MAKE SURE YOU HAVE ENOUGH PORTS
SPACERS
Amazon $890 + PRIMEhttpswwwamazoncomgpproductB06XW978ZP
YOU NEED THESE IF YOU PLAN TO STACK YOUR PIrsquoS
ETHERNET CABLES
Amazon $795httpswwwamazoncomgpproductB01HC11V4I
GET THESE FROM YOUR WORK
MICRO USB CABLES
Amazon 4PACK $999 PRIMEhttpswwwamazoncomAnker-4-Pack-PowerLine-Micro-USBdpB015XR60MQ
GET THESE FROM YOUR WORK
USB COMPUTER FAN
Amazon $1400httpswwwamazoncomCoolerguys-Dual-80mm-Cooling-FansdpB002NVC1DS
STEAL THESE FROM YOUR OLD DESKTOPS AT WORK
TOTAL COST
LOTS OF $$$ LIKE $240 WITH 4 PIrsquoS
BEFORE YOU PUT IT ALL TOGETHER
FLASH THE SDCARDS
WHAT IS HYPRIOT (HIP-RIOT)
HYPRIOT IS AN OS THATrsquoS ALREADY LOADED WITH DOCKER + DOCKER SWARM amp BUILT FOR ARM
HTTPBLOGHYPRIOTCOM
HOW TO FLASH THE SD-CARDS
$ curl -O curl -O httpsrawgithubusercontentcomhypriotflashmaster$(uname -s)flash$ chmod +x flash$ sudo mv flash usrlocalbinflash
DOWNLOAD FLASH
PLUG IN SDCARD RUN FLASH
$flash mdash-hostname sw-pi1 httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
$flash mdash-hostname sw-pi2 httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
$flash mdash-hostname sw-pi3 httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
MAKE SURE TO CHANGE THE HOSTNAME ARGUMENT $flash mdash-hostname black-pearl httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
IT SHOULD LOOK LIKE THIS
PUT THE SD CARDS INTO THE RASPBERRY PI
PLUG EVERYTHING IN THEN POWER IT UP
A SHEEP A DRUM AND A SNAKE FELL OFF A CLIFF
BAA-DUM-TSS
I LOVE THE SWARMA ITrsquoS SO EASY ITrsquoS BIGLY WINNING
Donald Trump
$ ssh pirate1921680100$ docker swarm init
CREATING THE DOCKER SWARM
Swarm initialized current node (mxgp6ta0yln3hwqrn2iawnvdh) is now a manager
To add a worker to this swarm run the following command
docker swarm join --token SWMTKN-1-4rmlnoly0tr652k1xjgbm5xwpx12l2wa8kpzwlr7c3rnyo81fl-e9rsyimu82cle1nbqbqm8q4er 19216801002377
To add a manager to this swarm run docker swarm join-token manager and follow the instructions
DO THIS ON THE PI YOU WANT AS THE MANAGER
$ ssh pirate1921680101$ docker swarm join --token SWMTKN-1-4rmlnoly0tr652k1xjgbm5xwpx12l2wa8kpzwlr7c3rnyo81fl-e9rsyimu82cle1nbqbqm8q4er 19216801002377
This node joined a swarm as a worker
ADDING WORKERS DO THIS FOR ALL THE OTHER RASPBERRY PIrsquoS
VIEWING YOUR NODES$ docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
a1s9roh5aso7nvactav39l26s sw-pi1 Ready Active
a8lkxhphl2dhxu1ht35xhr1k2 black-pearl Ready Active Leader
jc33a76532hlyen9rbei3rnz9 sw-pi2 Ready Active
nildn6z5jwpfo8me1vzdy8t30 sw-pi3 Ready Active
CREATE A SERVICE
$ docker service create --name whoami -p 80808000 hypriotrpi-whoami
SIMPLE EXAMPLE OF A HYPRIOT DOCKER IMAGE
SCALE THE SERVICE
$ docker service scale whoami=4 whoami scaled to 4
RUN THE SERVICE ON ALL THE NODES
$ docker service ls ID NAME MODE REPLICAS IMAGE h8gin96aen81 whoami replicated 11 hypriotrpi-whoamilatest
$ docker service ls ID NAME MODE REPLICAS IMAGE h8gin96aen81 whoami replicated 44 hypriotrpi-whoamilatest
VERIFY THE NODE IS RUNNING THE SERVICE
$ ssh pirate1921680101
HypriotOSarmv7 piratesw-pi1 in ~
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 01bf2cc93a71 rpi-whoami http 2 minutes ago Up 2 minutes 8000tcp whoami27d1
$ curl -4 localhost8000
Im bce5eaff8433c
OH YEAH
SCALE IT BACK DOWN
$ docker service scale whoami=0 whoami scaled to 0
DO THIS ON THE MANAGER PI
DEPLOY YOUR OWN GO APP TO THE CLUSTER
BUILD YOUR DOCKER IMAGE ON THE MANAGER PIFROM golang FROM alexellis2go-armhf175 WORKDIR gosrcwelpweather ADD gosrcwelpweather
ENV OWM_API_KEY ltinsert_api_keygt RUN go get -d -v RUN go install -v RUN go build RUN env GOOS=linux GOARCH=arm GOARM=5 go build ENTRYPOINT welpweather EXPOSE 6969
BUILD THE NEW DOCKERFILE$ docker build -t willywoswelpweather Step 99 EXPOSE 6969 ---gt Running in 68d8ccb0302c ---gt 0c485fc927f9
Removing intermediate container 68d8ccb0302c
Successfully built 0c485fc927f9
VERIFY THAT IMAGE IS WORKINGDo this from your host computer
telnet 1921680100 6969
YOU SHOULD SEE THIS
LAUNCH AND SCALE THE SERVICE$ docker service create mdash-name welpweather mdash-publish 69696969 willywoswelpweather
$ docker service scale welpweather=3
$ docker container stop fbdf88debc8f
VERIFY THE SERVICE RUNS ON THE OTHER PIrsquoS$ docker service ls ID NAME MODE REPLICAS IMAGE nj4gv702ha84 whoami replicated 00 hypriotrpi-whoamilatest u7pz5yp2ebm5 welpweather replicated 33 willywoswelpweather
$ telnet 1921680101 6969
OH YEAH
SCALE IT BACK DOWN
$ docker service scale welpweather=0 welpweather scaled to 0
DO THIS ON THE MANAGER PI
HELPFUL THINGS$ docker node ps
$ docker service ltservice-namegt logs
$ docker swarm join-token worker
$ docker service update --image hubdockercomimage service
REVIEW 1) CREATED A PI CLUSTER 2) RAN A SERVICE 3) DEPLOYED OUR OWN GO APP 4) PROFIT
THANK YOU
Please Sign My Guestbookhttpswills-guestbookherokuappcom
Website wosnetnet
SPACERS
Amazon $890 + PRIMEhttpswwwamazoncomgpproductB06XW978ZP
YOU NEED THESE IF YOU PLAN TO STACK YOUR PIrsquoS
ETHERNET CABLES
Amazon $795httpswwwamazoncomgpproductB01HC11V4I
GET THESE FROM YOUR WORK
MICRO USB CABLES
Amazon 4PACK $999 PRIMEhttpswwwamazoncomAnker-4-Pack-PowerLine-Micro-USBdpB015XR60MQ
GET THESE FROM YOUR WORK
USB COMPUTER FAN
Amazon $1400httpswwwamazoncomCoolerguys-Dual-80mm-Cooling-FansdpB002NVC1DS
STEAL THESE FROM YOUR OLD DESKTOPS AT WORK
TOTAL COST
LOTS OF $$$ LIKE $240 WITH 4 PIrsquoS
BEFORE YOU PUT IT ALL TOGETHER
FLASH THE SDCARDS
WHAT IS HYPRIOT (HIP-RIOT)
HYPRIOT IS AN OS THATrsquoS ALREADY LOADED WITH DOCKER + DOCKER SWARM amp BUILT FOR ARM
HTTPBLOGHYPRIOTCOM
HOW TO FLASH THE SD-CARDS
$ curl -O curl -O httpsrawgithubusercontentcomhypriotflashmaster$(uname -s)flash$ chmod +x flash$ sudo mv flash usrlocalbinflash
DOWNLOAD FLASH
PLUG IN SDCARD RUN FLASH
$flash mdash-hostname sw-pi1 httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
$flash mdash-hostname sw-pi2 httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
$flash mdash-hostname sw-pi3 httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
MAKE SURE TO CHANGE THE HOSTNAME ARGUMENT $flash mdash-hostname black-pearl httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
IT SHOULD LOOK LIKE THIS
PUT THE SD CARDS INTO THE RASPBERRY PI
PLUG EVERYTHING IN THEN POWER IT UP
A SHEEP A DRUM AND A SNAKE FELL OFF A CLIFF
BAA-DUM-TSS
I LOVE THE SWARMA ITrsquoS SO EASY ITrsquoS BIGLY WINNING
Donald Trump
$ ssh pirate1921680100$ docker swarm init
CREATING THE DOCKER SWARM
Swarm initialized current node (mxgp6ta0yln3hwqrn2iawnvdh) is now a manager
To add a worker to this swarm run the following command
docker swarm join --token SWMTKN-1-4rmlnoly0tr652k1xjgbm5xwpx12l2wa8kpzwlr7c3rnyo81fl-e9rsyimu82cle1nbqbqm8q4er 19216801002377
To add a manager to this swarm run docker swarm join-token manager and follow the instructions
DO THIS ON THE PI YOU WANT AS THE MANAGER
$ ssh pirate1921680101$ docker swarm join --token SWMTKN-1-4rmlnoly0tr652k1xjgbm5xwpx12l2wa8kpzwlr7c3rnyo81fl-e9rsyimu82cle1nbqbqm8q4er 19216801002377
This node joined a swarm as a worker
ADDING WORKERS DO THIS FOR ALL THE OTHER RASPBERRY PIrsquoS
VIEWING YOUR NODES$ docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
a1s9roh5aso7nvactav39l26s sw-pi1 Ready Active
a8lkxhphl2dhxu1ht35xhr1k2 black-pearl Ready Active Leader
jc33a76532hlyen9rbei3rnz9 sw-pi2 Ready Active
nildn6z5jwpfo8me1vzdy8t30 sw-pi3 Ready Active
CREATE A SERVICE
$ docker service create --name whoami -p 80808000 hypriotrpi-whoami
SIMPLE EXAMPLE OF A HYPRIOT DOCKER IMAGE
SCALE THE SERVICE
$ docker service scale whoami=4 whoami scaled to 4
RUN THE SERVICE ON ALL THE NODES
$ docker service ls ID NAME MODE REPLICAS IMAGE h8gin96aen81 whoami replicated 11 hypriotrpi-whoamilatest
$ docker service ls ID NAME MODE REPLICAS IMAGE h8gin96aen81 whoami replicated 44 hypriotrpi-whoamilatest
VERIFY THE NODE IS RUNNING THE SERVICE
$ ssh pirate1921680101
HypriotOSarmv7 piratesw-pi1 in ~
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 01bf2cc93a71 rpi-whoami http 2 minutes ago Up 2 minutes 8000tcp whoami27d1
$ curl -4 localhost8000
Im bce5eaff8433c
OH YEAH
SCALE IT BACK DOWN
$ docker service scale whoami=0 whoami scaled to 0
DO THIS ON THE MANAGER PI
DEPLOY YOUR OWN GO APP TO THE CLUSTER
BUILD YOUR DOCKER IMAGE ON THE MANAGER PIFROM golang FROM alexellis2go-armhf175 WORKDIR gosrcwelpweather ADD gosrcwelpweather
ENV OWM_API_KEY ltinsert_api_keygt RUN go get -d -v RUN go install -v RUN go build RUN env GOOS=linux GOARCH=arm GOARM=5 go build ENTRYPOINT welpweather EXPOSE 6969
BUILD THE NEW DOCKERFILE$ docker build -t willywoswelpweather Step 99 EXPOSE 6969 ---gt Running in 68d8ccb0302c ---gt 0c485fc927f9
Removing intermediate container 68d8ccb0302c
Successfully built 0c485fc927f9
VERIFY THAT IMAGE IS WORKINGDo this from your host computer
telnet 1921680100 6969
YOU SHOULD SEE THIS
LAUNCH AND SCALE THE SERVICE$ docker service create mdash-name welpweather mdash-publish 69696969 willywoswelpweather
$ docker service scale welpweather=3
$ docker container stop fbdf88debc8f
VERIFY THE SERVICE RUNS ON THE OTHER PIrsquoS$ docker service ls ID NAME MODE REPLICAS IMAGE nj4gv702ha84 whoami replicated 00 hypriotrpi-whoamilatest u7pz5yp2ebm5 welpweather replicated 33 willywoswelpweather
$ telnet 1921680101 6969
OH YEAH
SCALE IT BACK DOWN
$ docker service scale welpweather=0 welpweather scaled to 0
DO THIS ON THE MANAGER PI
HELPFUL THINGS$ docker node ps
$ docker service ltservice-namegt logs
$ docker swarm join-token worker
$ docker service update --image hubdockercomimage service
REVIEW 1) CREATED A PI CLUSTER 2) RAN A SERVICE 3) DEPLOYED OUR OWN GO APP 4) PROFIT
THANK YOU
Please Sign My Guestbookhttpswills-guestbookherokuappcom
Website wosnetnet
ETHERNET CABLES
Amazon $795httpswwwamazoncomgpproductB01HC11V4I
GET THESE FROM YOUR WORK
MICRO USB CABLES
Amazon 4PACK $999 PRIMEhttpswwwamazoncomAnker-4-Pack-PowerLine-Micro-USBdpB015XR60MQ
GET THESE FROM YOUR WORK
USB COMPUTER FAN
Amazon $1400httpswwwamazoncomCoolerguys-Dual-80mm-Cooling-FansdpB002NVC1DS
STEAL THESE FROM YOUR OLD DESKTOPS AT WORK
TOTAL COST
LOTS OF $$$ LIKE $240 WITH 4 PIrsquoS
BEFORE YOU PUT IT ALL TOGETHER
FLASH THE SDCARDS
WHAT IS HYPRIOT (HIP-RIOT)
HYPRIOT IS AN OS THATrsquoS ALREADY LOADED WITH DOCKER + DOCKER SWARM amp BUILT FOR ARM
HTTPBLOGHYPRIOTCOM
HOW TO FLASH THE SD-CARDS
$ curl -O curl -O httpsrawgithubusercontentcomhypriotflashmaster$(uname -s)flash$ chmod +x flash$ sudo mv flash usrlocalbinflash
DOWNLOAD FLASH
PLUG IN SDCARD RUN FLASH
$flash mdash-hostname sw-pi1 httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
$flash mdash-hostname sw-pi2 httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
$flash mdash-hostname sw-pi3 httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
MAKE SURE TO CHANGE THE HOSTNAME ARGUMENT $flash mdash-hostname black-pearl httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
IT SHOULD LOOK LIKE THIS
PUT THE SD CARDS INTO THE RASPBERRY PI
PLUG EVERYTHING IN THEN POWER IT UP
A SHEEP A DRUM AND A SNAKE FELL OFF A CLIFF
BAA-DUM-TSS
I LOVE THE SWARMA ITrsquoS SO EASY ITrsquoS BIGLY WINNING
Donald Trump
$ ssh pirate1921680100$ docker swarm init
CREATING THE DOCKER SWARM
Swarm initialized current node (mxgp6ta0yln3hwqrn2iawnvdh) is now a manager
To add a worker to this swarm run the following command
docker swarm join --token SWMTKN-1-4rmlnoly0tr652k1xjgbm5xwpx12l2wa8kpzwlr7c3rnyo81fl-e9rsyimu82cle1nbqbqm8q4er 19216801002377
To add a manager to this swarm run docker swarm join-token manager and follow the instructions
DO THIS ON THE PI YOU WANT AS THE MANAGER
$ ssh pirate1921680101$ docker swarm join --token SWMTKN-1-4rmlnoly0tr652k1xjgbm5xwpx12l2wa8kpzwlr7c3rnyo81fl-e9rsyimu82cle1nbqbqm8q4er 19216801002377
This node joined a swarm as a worker
ADDING WORKERS DO THIS FOR ALL THE OTHER RASPBERRY PIrsquoS
VIEWING YOUR NODES$ docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
a1s9roh5aso7nvactav39l26s sw-pi1 Ready Active
a8lkxhphl2dhxu1ht35xhr1k2 black-pearl Ready Active Leader
jc33a76532hlyen9rbei3rnz9 sw-pi2 Ready Active
nildn6z5jwpfo8me1vzdy8t30 sw-pi3 Ready Active
CREATE A SERVICE
$ docker service create --name whoami -p 80808000 hypriotrpi-whoami
SIMPLE EXAMPLE OF A HYPRIOT DOCKER IMAGE
SCALE THE SERVICE
$ docker service scale whoami=4 whoami scaled to 4
RUN THE SERVICE ON ALL THE NODES
$ docker service ls ID NAME MODE REPLICAS IMAGE h8gin96aen81 whoami replicated 11 hypriotrpi-whoamilatest
$ docker service ls ID NAME MODE REPLICAS IMAGE h8gin96aen81 whoami replicated 44 hypriotrpi-whoamilatest
VERIFY THE NODE IS RUNNING THE SERVICE
$ ssh pirate1921680101
HypriotOSarmv7 piratesw-pi1 in ~
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 01bf2cc93a71 rpi-whoami http 2 minutes ago Up 2 minutes 8000tcp whoami27d1
$ curl -4 localhost8000
Im bce5eaff8433c
OH YEAH
SCALE IT BACK DOWN
$ docker service scale whoami=0 whoami scaled to 0
DO THIS ON THE MANAGER PI
DEPLOY YOUR OWN GO APP TO THE CLUSTER
BUILD YOUR DOCKER IMAGE ON THE MANAGER PIFROM golang FROM alexellis2go-armhf175 WORKDIR gosrcwelpweather ADD gosrcwelpweather
ENV OWM_API_KEY ltinsert_api_keygt RUN go get -d -v RUN go install -v RUN go build RUN env GOOS=linux GOARCH=arm GOARM=5 go build ENTRYPOINT welpweather EXPOSE 6969
BUILD THE NEW DOCKERFILE$ docker build -t willywoswelpweather Step 99 EXPOSE 6969 ---gt Running in 68d8ccb0302c ---gt 0c485fc927f9
Removing intermediate container 68d8ccb0302c
Successfully built 0c485fc927f9
VERIFY THAT IMAGE IS WORKINGDo this from your host computer
telnet 1921680100 6969
YOU SHOULD SEE THIS
LAUNCH AND SCALE THE SERVICE$ docker service create mdash-name welpweather mdash-publish 69696969 willywoswelpweather
$ docker service scale welpweather=3
$ docker container stop fbdf88debc8f
VERIFY THE SERVICE RUNS ON THE OTHER PIrsquoS$ docker service ls ID NAME MODE REPLICAS IMAGE nj4gv702ha84 whoami replicated 00 hypriotrpi-whoamilatest u7pz5yp2ebm5 welpweather replicated 33 willywoswelpweather
$ telnet 1921680101 6969
OH YEAH
SCALE IT BACK DOWN
$ docker service scale welpweather=0 welpweather scaled to 0
DO THIS ON THE MANAGER PI
HELPFUL THINGS$ docker node ps
$ docker service ltservice-namegt logs
$ docker swarm join-token worker
$ docker service update --image hubdockercomimage service
REVIEW 1) CREATED A PI CLUSTER 2) RAN A SERVICE 3) DEPLOYED OUR OWN GO APP 4) PROFIT
THANK YOU
Please Sign My Guestbookhttpswills-guestbookherokuappcom
Website wosnetnet
MICRO USB CABLES
Amazon 4PACK $999 PRIMEhttpswwwamazoncomAnker-4-Pack-PowerLine-Micro-USBdpB015XR60MQ
GET THESE FROM YOUR WORK
USB COMPUTER FAN
Amazon $1400httpswwwamazoncomCoolerguys-Dual-80mm-Cooling-FansdpB002NVC1DS
STEAL THESE FROM YOUR OLD DESKTOPS AT WORK
TOTAL COST
LOTS OF $$$ LIKE $240 WITH 4 PIrsquoS
BEFORE YOU PUT IT ALL TOGETHER
FLASH THE SDCARDS
WHAT IS HYPRIOT (HIP-RIOT)
HYPRIOT IS AN OS THATrsquoS ALREADY LOADED WITH DOCKER + DOCKER SWARM amp BUILT FOR ARM
HTTPBLOGHYPRIOTCOM
HOW TO FLASH THE SD-CARDS
$ curl -O curl -O httpsrawgithubusercontentcomhypriotflashmaster$(uname -s)flash$ chmod +x flash$ sudo mv flash usrlocalbinflash
DOWNLOAD FLASH
PLUG IN SDCARD RUN FLASH
$flash mdash-hostname sw-pi1 httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
$flash mdash-hostname sw-pi2 httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
$flash mdash-hostname sw-pi3 httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
MAKE SURE TO CHANGE THE HOSTNAME ARGUMENT $flash mdash-hostname black-pearl httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
IT SHOULD LOOK LIKE THIS
PUT THE SD CARDS INTO THE RASPBERRY PI
PLUG EVERYTHING IN THEN POWER IT UP
A SHEEP A DRUM AND A SNAKE FELL OFF A CLIFF
BAA-DUM-TSS
I LOVE THE SWARMA ITrsquoS SO EASY ITrsquoS BIGLY WINNING
Donald Trump
$ ssh pirate1921680100$ docker swarm init
CREATING THE DOCKER SWARM
Swarm initialized current node (mxgp6ta0yln3hwqrn2iawnvdh) is now a manager
To add a worker to this swarm run the following command
docker swarm join --token SWMTKN-1-4rmlnoly0tr652k1xjgbm5xwpx12l2wa8kpzwlr7c3rnyo81fl-e9rsyimu82cle1nbqbqm8q4er 19216801002377
To add a manager to this swarm run docker swarm join-token manager and follow the instructions
DO THIS ON THE PI YOU WANT AS THE MANAGER
$ ssh pirate1921680101$ docker swarm join --token SWMTKN-1-4rmlnoly0tr652k1xjgbm5xwpx12l2wa8kpzwlr7c3rnyo81fl-e9rsyimu82cle1nbqbqm8q4er 19216801002377
This node joined a swarm as a worker
ADDING WORKERS DO THIS FOR ALL THE OTHER RASPBERRY PIrsquoS
VIEWING YOUR NODES$ docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
a1s9roh5aso7nvactav39l26s sw-pi1 Ready Active
a8lkxhphl2dhxu1ht35xhr1k2 black-pearl Ready Active Leader
jc33a76532hlyen9rbei3rnz9 sw-pi2 Ready Active
nildn6z5jwpfo8me1vzdy8t30 sw-pi3 Ready Active
CREATE A SERVICE
$ docker service create --name whoami -p 80808000 hypriotrpi-whoami
SIMPLE EXAMPLE OF A HYPRIOT DOCKER IMAGE
SCALE THE SERVICE
$ docker service scale whoami=4 whoami scaled to 4
RUN THE SERVICE ON ALL THE NODES
$ docker service ls ID NAME MODE REPLICAS IMAGE h8gin96aen81 whoami replicated 11 hypriotrpi-whoamilatest
$ docker service ls ID NAME MODE REPLICAS IMAGE h8gin96aen81 whoami replicated 44 hypriotrpi-whoamilatest
VERIFY THE NODE IS RUNNING THE SERVICE
$ ssh pirate1921680101
HypriotOSarmv7 piratesw-pi1 in ~
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 01bf2cc93a71 rpi-whoami http 2 minutes ago Up 2 minutes 8000tcp whoami27d1
$ curl -4 localhost8000
Im bce5eaff8433c
OH YEAH
SCALE IT BACK DOWN
$ docker service scale whoami=0 whoami scaled to 0
DO THIS ON THE MANAGER PI
DEPLOY YOUR OWN GO APP TO THE CLUSTER
BUILD YOUR DOCKER IMAGE ON THE MANAGER PIFROM golang FROM alexellis2go-armhf175 WORKDIR gosrcwelpweather ADD gosrcwelpweather
ENV OWM_API_KEY ltinsert_api_keygt RUN go get -d -v RUN go install -v RUN go build RUN env GOOS=linux GOARCH=arm GOARM=5 go build ENTRYPOINT welpweather EXPOSE 6969
BUILD THE NEW DOCKERFILE$ docker build -t willywoswelpweather Step 99 EXPOSE 6969 ---gt Running in 68d8ccb0302c ---gt 0c485fc927f9
Removing intermediate container 68d8ccb0302c
Successfully built 0c485fc927f9
VERIFY THAT IMAGE IS WORKINGDo this from your host computer
telnet 1921680100 6969
YOU SHOULD SEE THIS
LAUNCH AND SCALE THE SERVICE$ docker service create mdash-name welpweather mdash-publish 69696969 willywoswelpweather
$ docker service scale welpweather=3
$ docker container stop fbdf88debc8f
VERIFY THE SERVICE RUNS ON THE OTHER PIrsquoS$ docker service ls ID NAME MODE REPLICAS IMAGE nj4gv702ha84 whoami replicated 00 hypriotrpi-whoamilatest u7pz5yp2ebm5 welpweather replicated 33 willywoswelpweather
$ telnet 1921680101 6969
OH YEAH
SCALE IT BACK DOWN
$ docker service scale welpweather=0 welpweather scaled to 0
DO THIS ON THE MANAGER PI
HELPFUL THINGS$ docker node ps
$ docker service ltservice-namegt logs
$ docker swarm join-token worker
$ docker service update --image hubdockercomimage service
REVIEW 1) CREATED A PI CLUSTER 2) RAN A SERVICE 3) DEPLOYED OUR OWN GO APP 4) PROFIT
THANK YOU
Please Sign My Guestbookhttpswills-guestbookherokuappcom
Website wosnetnet
USB COMPUTER FAN
Amazon $1400httpswwwamazoncomCoolerguys-Dual-80mm-Cooling-FansdpB002NVC1DS
STEAL THESE FROM YOUR OLD DESKTOPS AT WORK
TOTAL COST
LOTS OF $$$ LIKE $240 WITH 4 PIrsquoS
BEFORE YOU PUT IT ALL TOGETHER
FLASH THE SDCARDS
WHAT IS HYPRIOT (HIP-RIOT)
HYPRIOT IS AN OS THATrsquoS ALREADY LOADED WITH DOCKER + DOCKER SWARM amp BUILT FOR ARM
HTTPBLOGHYPRIOTCOM
HOW TO FLASH THE SD-CARDS
$ curl -O curl -O httpsrawgithubusercontentcomhypriotflashmaster$(uname -s)flash$ chmod +x flash$ sudo mv flash usrlocalbinflash
DOWNLOAD FLASH
PLUG IN SDCARD RUN FLASH
$flash mdash-hostname sw-pi1 httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
$flash mdash-hostname sw-pi2 httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
$flash mdash-hostname sw-pi3 httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
MAKE SURE TO CHANGE THE HOSTNAME ARGUMENT $flash mdash-hostname black-pearl httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
IT SHOULD LOOK LIKE THIS
PUT THE SD CARDS INTO THE RASPBERRY PI
PLUG EVERYTHING IN THEN POWER IT UP
A SHEEP A DRUM AND A SNAKE FELL OFF A CLIFF
BAA-DUM-TSS
I LOVE THE SWARMA ITrsquoS SO EASY ITrsquoS BIGLY WINNING
Donald Trump
$ ssh pirate1921680100$ docker swarm init
CREATING THE DOCKER SWARM
Swarm initialized current node (mxgp6ta0yln3hwqrn2iawnvdh) is now a manager
To add a worker to this swarm run the following command
docker swarm join --token SWMTKN-1-4rmlnoly0tr652k1xjgbm5xwpx12l2wa8kpzwlr7c3rnyo81fl-e9rsyimu82cle1nbqbqm8q4er 19216801002377
To add a manager to this swarm run docker swarm join-token manager and follow the instructions
DO THIS ON THE PI YOU WANT AS THE MANAGER
$ ssh pirate1921680101$ docker swarm join --token SWMTKN-1-4rmlnoly0tr652k1xjgbm5xwpx12l2wa8kpzwlr7c3rnyo81fl-e9rsyimu82cle1nbqbqm8q4er 19216801002377
This node joined a swarm as a worker
ADDING WORKERS DO THIS FOR ALL THE OTHER RASPBERRY PIrsquoS
VIEWING YOUR NODES$ docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
a1s9roh5aso7nvactav39l26s sw-pi1 Ready Active
a8lkxhphl2dhxu1ht35xhr1k2 black-pearl Ready Active Leader
jc33a76532hlyen9rbei3rnz9 sw-pi2 Ready Active
nildn6z5jwpfo8me1vzdy8t30 sw-pi3 Ready Active
CREATE A SERVICE
$ docker service create --name whoami -p 80808000 hypriotrpi-whoami
SIMPLE EXAMPLE OF A HYPRIOT DOCKER IMAGE
SCALE THE SERVICE
$ docker service scale whoami=4 whoami scaled to 4
RUN THE SERVICE ON ALL THE NODES
$ docker service ls ID NAME MODE REPLICAS IMAGE h8gin96aen81 whoami replicated 11 hypriotrpi-whoamilatest
$ docker service ls ID NAME MODE REPLICAS IMAGE h8gin96aen81 whoami replicated 44 hypriotrpi-whoamilatest
VERIFY THE NODE IS RUNNING THE SERVICE
$ ssh pirate1921680101
HypriotOSarmv7 piratesw-pi1 in ~
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 01bf2cc93a71 rpi-whoami http 2 minutes ago Up 2 minutes 8000tcp whoami27d1
$ curl -4 localhost8000
Im bce5eaff8433c
OH YEAH
SCALE IT BACK DOWN
$ docker service scale whoami=0 whoami scaled to 0
DO THIS ON THE MANAGER PI
DEPLOY YOUR OWN GO APP TO THE CLUSTER
BUILD YOUR DOCKER IMAGE ON THE MANAGER PIFROM golang FROM alexellis2go-armhf175 WORKDIR gosrcwelpweather ADD gosrcwelpweather
ENV OWM_API_KEY ltinsert_api_keygt RUN go get -d -v RUN go install -v RUN go build RUN env GOOS=linux GOARCH=arm GOARM=5 go build ENTRYPOINT welpweather EXPOSE 6969
BUILD THE NEW DOCKERFILE$ docker build -t willywoswelpweather Step 99 EXPOSE 6969 ---gt Running in 68d8ccb0302c ---gt 0c485fc927f9
Removing intermediate container 68d8ccb0302c
Successfully built 0c485fc927f9
VERIFY THAT IMAGE IS WORKINGDo this from your host computer
telnet 1921680100 6969
YOU SHOULD SEE THIS
LAUNCH AND SCALE THE SERVICE$ docker service create mdash-name welpweather mdash-publish 69696969 willywoswelpweather
$ docker service scale welpweather=3
$ docker container stop fbdf88debc8f
VERIFY THE SERVICE RUNS ON THE OTHER PIrsquoS$ docker service ls ID NAME MODE REPLICAS IMAGE nj4gv702ha84 whoami replicated 00 hypriotrpi-whoamilatest u7pz5yp2ebm5 welpweather replicated 33 willywoswelpweather
$ telnet 1921680101 6969
OH YEAH
SCALE IT BACK DOWN
$ docker service scale welpweather=0 welpweather scaled to 0
DO THIS ON THE MANAGER PI
HELPFUL THINGS$ docker node ps
$ docker service ltservice-namegt logs
$ docker swarm join-token worker
$ docker service update --image hubdockercomimage service
REVIEW 1) CREATED A PI CLUSTER 2) RAN A SERVICE 3) DEPLOYED OUR OWN GO APP 4) PROFIT
THANK YOU
Please Sign My Guestbookhttpswills-guestbookherokuappcom
Website wosnetnet
TOTAL COST
LOTS OF $$$ LIKE $240 WITH 4 PIrsquoS
BEFORE YOU PUT IT ALL TOGETHER
FLASH THE SDCARDS
WHAT IS HYPRIOT (HIP-RIOT)
HYPRIOT IS AN OS THATrsquoS ALREADY LOADED WITH DOCKER + DOCKER SWARM amp BUILT FOR ARM
HTTPBLOGHYPRIOTCOM
HOW TO FLASH THE SD-CARDS
$ curl -O curl -O httpsrawgithubusercontentcomhypriotflashmaster$(uname -s)flash$ chmod +x flash$ sudo mv flash usrlocalbinflash
DOWNLOAD FLASH
PLUG IN SDCARD RUN FLASH
$flash mdash-hostname sw-pi1 httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
$flash mdash-hostname sw-pi2 httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
$flash mdash-hostname sw-pi3 httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
MAKE SURE TO CHANGE THE HOSTNAME ARGUMENT $flash mdash-hostname black-pearl httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
IT SHOULD LOOK LIKE THIS
PUT THE SD CARDS INTO THE RASPBERRY PI
PLUG EVERYTHING IN THEN POWER IT UP
A SHEEP A DRUM AND A SNAKE FELL OFF A CLIFF
BAA-DUM-TSS
I LOVE THE SWARMA ITrsquoS SO EASY ITrsquoS BIGLY WINNING
Donald Trump
$ ssh pirate1921680100$ docker swarm init
CREATING THE DOCKER SWARM
Swarm initialized current node (mxgp6ta0yln3hwqrn2iawnvdh) is now a manager
To add a worker to this swarm run the following command
docker swarm join --token SWMTKN-1-4rmlnoly0tr652k1xjgbm5xwpx12l2wa8kpzwlr7c3rnyo81fl-e9rsyimu82cle1nbqbqm8q4er 19216801002377
To add a manager to this swarm run docker swarm join-token manager and follow the instructions
DO THIS ON THE PI YOU WANT AS THE MANAGER
$ ssh pirate1921680101$ docker swarm join --token SWMTKN-1-4rmlnoly0tr652k1xjgbm5xwpx12l2wa8kpzwlr7c3rnyo81fl-e9rsyimu82cle1nbqbqm8q4er 19216801002377
This node joined a swarm as a worker
ADDING WORKERS DO THIS FOR ALL THE OTHER RASPBERRY PIrsquoS
VIEWING YOUR NODES$ docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
a1s9roh5aso7nvactav39l26s sw-pi1 Ready Active
a8lkxhphl2dhxu1ht35xhr1k2 black-pearl Ready Active Leader
jc33a76532hlyen9rbei3rnz9 sw-pi2 Ready Active
nildn6z5jwpfo8me1vzdy8t30 sw-pi3 Ready Active
CREATE A SERVICE
$ docker service create --name whoami -p 80808000 hypriotrpi-whoami
SIMPLE EXAMPLE OF A HYPRIOT DOCKER IMAGE
SCALE THE SERVICE
$ docker service scale whoami=4 whoami scaled to 4
RUN THE SERVICE ON ALL THE NODES
$ docker service ls ID NAME MODE REPLICAS IMAGE h8gin96aen81 whoami replicated 11 hypriotrpi-whoamilatest
$ docker service ls ID NAME MODE REPLICAS IMAGE h8gin96aen81 whoami replicated 44 hypriotrpi-whoamilatest
VERIFY THE NODE IS RUNNING THE SERVICE
$ ssh pirate1921680101
HypriotOSarmv7 piratesw-pi1 in ~
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 01bf2cc93a71 rpi-whoami http 2 minutes ago Up 2 minutes 8000tcp whoami27d1
$ curl -4 localhost8000
Im bce5eaff8433c
OH YEAH
SCALE IT BACK DOWN
$ docker service scale whoami=0 whoami scaled to 0
DO THIS ON THE MANAGER PI
DEPLOY YOUR OWN GO APP TO THE CLUSTER
BUILD YOUR DOCKER IMAGE ON THE MANAGER PIFROM golang FROM alexellis2go-armhf175 WORKDIR gosrcwelpweather ADD gosrcwelpweather
ENV OWM_API_KEY ltinsert_api_keygt RUN go get -d -v RUN go install -v RUN go build RUN env GOOS=linux GOARCH=arm GOARM=5 go build ENTRYPOINT welpweather EXPOSE 6969
BUILD THE NEW DOCKERFILE$ docker build -t willywoswelpweather Step 99 EXPOSE 6969 ---gt Running in 68d8ccb0302c ---gt 0c485fc927f9
Removing intermediate container 68d8ccb0302c
Successfully built 0c485fc927f9
VERIFY THAT IMAGE IS WORKINGDo this from your host computer
telnet 1921680100 6969
YOU SHOULD SEE THIS
LAUNCH AND SCALE THE SERVICE$ docker service create mdash-name welpweather mdash-publish 69696969 willywoswelpweather
$ docker service scale welpweather=3
$ docker container stop fbdf88debc8f
VERIFY THE SERVICE RUNS ON THE OTHER PIrsquoS$ docker service ls ID NAME MODE REPLICAS IMAGE nj4gv702ha84 whoami replicated 00 hypriotrpi-whoamilatest u7pz5yp2ebm5 welpweather replicated 33 willywoswelpweather
$ telnet 1921680101 6969
OH YEAH
SCALE IT BACK DOWN
$ docker service scale welpweather=0 welpweather scaled to 0
DO THIS ON THE MANAGER PI
HELPFUL THINGS$ docker node ps
$ docker service ltservice-namegt logs
$ docker swarm join-token worker
$ docker service update --image hubdockercomimage service
REVIEW 1) CREATED A PI CLUSTER 2) RAN A SERVICE 3) DEPLOYED OUR OWN GO APP 4) PROFIT
THANK YOU
Please Sign My Guestbookhttpswills-guestbookherokuappcom
Website wosnetnet
BEFORE YOU PUT IT ALL TOGETHER
FLASH THE SDCARDS
WHAT IS HYPRIOT (HIP-RIOT)
HYPRIOT IS AN OS THATrsquoS ALREADY LOADED WITH DOCKER + DOCKER SWARM amp BUILT FOR ARM
HTTPBLOGHYPRIOTCOM
HOW TO FLASH THE SD-CARDS
$ curl -O curl -O httpsrawgithubusercontentcomhypriotflashmaster$(uname -s)flash$ chmod +x flash$ sudo mv flash usrlocalbinflash
DOWNLOAD FLASH
PLUG IN SDCARD RUN FLASH
$flash mdash-hostname sw-pi1 httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
$flash mdash-hostname sw-pi2 httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
$flash mdash-hostname sw-pi3 httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
MAKE SURE TO CHANGE THE HOSTNAME ARGUMENT $flash mdash-hostname black-pearl httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
IT SHOULD LOOK LIKE THIS
PUT THE SD CARDS INTO THE RASPBERRY PI
PLUG EVERYTHING IN THEN POWER IT UP
A SHEEP A DRUM AND A SNAKE FELL OFF A CLIFF
BAA-DUM-TSS
I LOVE THE SWARMA ITrsquoS SO EASY ITrsquoS BIGLY WINNING
Donald Trump
$ ssh pirate1921680100$ docker swarm init
CREATING THE DOCKER SWARM
Swarm initialized current node (mxgp6ta0yln3hwqrn2iawnvdh) is now a manager
To add a worker to this swarm run the following command
docker swarm join --token SWMTKN-1-4rmlnoly0tr652k1xjgbm5xwpx12l2wa8kpzwlr7c3rnyo81fl-e9rsyimu82cle1nbqbqm8q4er 19216801002377
To add a manager to this swarm run docker swarm join-token manager and follow the instructions
DO THIS ON THE PI YOU WANT AS THE MANAGER
$ ssh pirate1921680101$ docker swarm join --token SWMTKN-1-4rmlnoly0tr652k1xjgbm5xwpx12l2wa8kpzwlr7c3rnyo81fl-e9rsyimu82cle1nbqbqm8q4er 19216801002377
This node joined a swarm as a worker
ADDING WORKERS DO THIS FOR ALL THE OTHER RASPBERRY PIrsquoS
VIEWING YOUR NODES$ docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
a1s9roh5aso7nvactav39l26s sw-pi1 Ready Active
a8lkxhphl2dhxu1ht35xhr1k2 black-pearl Ready Active Leader
jc33a76532hlyen9rbei3rnz9 sw-pi2 Ready Active
nildn6z5jwpfo8me1vzdy8t30 sw-pi3 Ready Active
CREATE A SERVICE
$ docker service create --name whoami -p 80808000 hypriotrpi-whoami
SIMPLE EXAMPLE OF A HYPRIOT DOCKER IMAGE
SCALE THE SERVICE
$ docker service scale whoami=4 whoami scaled to 4
RUN THE SERVICE ON ALL THE NODES
$ docker service ls ID NAME MODE REPLICAS IMAGE h8gin96aen81 whoami replicated 11 hypriotrpi-whoamilatest
$ docker service ls ID NAME MODE REPLICAS IMAGE h8gin96aen81 whoami replicated 44 hypriotrpi-whoamilatest
VERIFY THE NODE IS RUNNING THE SERVICE
$ ssh pirate1921680101
HypriotOSarmv7 piratesw-pi1 in ~
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 01bf2cc93a71 rpi-whoami http 2 minutes ago Up 2 minutes 8000tcp whoami27d1
$ curl -4 localhost8000
Im bce5eaff8433c
OH YEAH
SCALE IT BACK DOWN
$ docker service scale whoami=0 whoami scaled to 0
DO THIS ON THE MANAGER PI
DEPLOY YOUR OWN GO APP TO THE CLUSTER
BUILD YOUR DOCKER IMAGE ON THE MANAGER PIFROM golang FROM alexellis2go-armhf175 WORKDIR gosrcwelpweather ADD gosrcwelpweather
ENV OWM_API_KEY ltinsert_api_keygt RUN go get -d -v RUN go install -v RUN go build RUN env GOOS=linux GOARCH=arm GOARM=5 go build ENTRYPOINT welpweather EXPOSE 6969
BUILD THE NEW DOCKERFILE$ docker build -t willywoswelpweather Step 99 EXPOSE 6969 ---gt Running in 68d8ccb0302c ---gt 0c485fc927f9
Removing intermediate container 68d8ccb0302c
Successfully built 0c485fc927f9
VERIFY THAT IMAGE IS WORKINGDo this from your host computer
telnet 1921680100 6969
YOU SHOULD SEE THIS
LAUNCH AND SCALE THE SERVICE$ docker service create mdash-name welpweather mdash-publish 69696969 willywoswelpweather
$ docker service scale welpweather=3
$ docker container stop fbdf88debc8f
VERIFY THE SERVICE RUNS ON THE OTHER PIrsquoS$ docker service ls ID NAME MODE REPLICAS IMAGE nj4gv702ha84 whoami replicated 00 hypriotrpi-whoamilatest u7pz5yp2ebm5 welpweather replicated 33 willywoswelpweather
$ telnet 1921680101 6969
OH YEAH
SCALE IT BACK DOWN
$ docker service scale welpweather=0 welpweather scaled to 0
DO THIS ON THE MANAGER PI
HELPFUL THINGS$ docker node ps
$ docker service ltservice-namegt logs
$ docker swarm join-token worker
$ docker service update --image hubdockercomimage service
REVIEW 1) CREATED A PI CLUSTER 2) RAN A SERVICE 3) DEPLOYED OUR OWN GO APP 4) PROFIT
THANK YOU
Please Sign My Guestbookhttpswills-guestbookherokuappcom
Website wosnetnet
FLASH THE SDCARDS
WHAT IS HYPRIOT (HIP-RIOT)
HYPRIOT IS AN OS THATrsquoS ALREADY LOADED WITH DOCKER + DOCKER SWARM amp BUILT FOR ARM
HTTPBLOGHYPRIOTCOM
HOW TO FLASH THE SD-CARDS
$ curl -O curl -O httpsrawgithubusercontentcomhypriotflashmaster$(uname -s)flash$ chmod +x flash$ sudo mv flash usrlocalbinflash
DOWNLOAD FLASH
PLUG IN SDCARD RUN FLASH
$flash mdash-hostname sw-pi1 httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
$flash mdash-hostname sw-pi2 httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
$flash mdash-hostname sw-pi3 httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
MAKE SURE TO CHANGE THE HOSTNAME ARGUMENT $flash mdash-hostname black-pearl httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
IT SHOULD LOOK LIKE THIS
PUT THE SD CARDS INTO THE RASPBERRY PI
PLUG EVERYTHING IN THEN POWER IT UP
A SHEEP A DRUM AND A SNAKE FELL OFF A CLIFF
BAA-DUM-TSS
I LOVE THE SWARMA ITrsquoS SO EASY ITrsquoS BIGLY WINNING
Donald Trump
$ ssh pirate1921680100$ docker swarm init
CREATING THE DOCKER SWARM
Swarm initialized current node (mxgp6ta0yln3hwqrn2iawnvdh) is now a manager
To add a worker to this swarm run the following command
docker swarm join --token SWMTKN-1-4rmlnoly0tr652k1xjgbm5xwpx12l2wa8kpzwlr7c3rnyo81fl-e9rsyimu82cle1nbqbqm8q4er 19216801002377
To add a manager to this swarm run docker swarm join-token manager and follow the instructions
DO THIS ON THE PI YOU WANT AS THE MANAGER
$ ssh pirate1921680101$ docker swarm join --token SWMTKN-1-4rmlnoly0tr652k1xjgbm5xwpx12l2wa8kpzwlr7c3rnyo81fl-e9rsyimu82cle1nbqbqm8q4er 19216801002377
This node joined a swarm as a worker
ADDING WORKERS DO THIS FOR ALL THE OTHER RASPBERRY PIrsquoS
VIEWING YOUR NODES$ docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
a1s9roh5aso7nvactav39l26s sw-pi1 Ready Active
a8lkxhphl2dhxu1ht35xhr1k2 black-pearl Ready Active Leader
jc33a76532hlyen9rbei3rnz9 sw-pi2 Ready Active
nildn6z5jwpfo8me1vzdy8t30 sw-pi3 Ready Active
CREATE A SERVICE
$ docker service create --name whoami -p 80808000 hypriotrpi-whoami
SIMPLE EXAMPLE OF A HYPRIOT DOCKER IMAGE
SCALE THE SERVICE
$ docker service scale whoami=4 whoami scaled to 4
RUN THE SERVICE ON ALL THE NODES
$ docker service ls ID NAME MODE REPLICAS IMAGE h8gin96aen81 whoami replicated 11 hypriotrpi-whoamilatest
$ docker service ls ID NAME MODE REPLICAS IMAGE h8gin96aen81 whoami replicated 44 hypriotrpi-whoamilatest
VERIFY THE NODE IS RUNNING THE SERVICE
$ ssh pirate1921680101
HypriotOSarmv7 piratesw-pi1 in ~
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 01bf2cc93a71 rpi-whoami http 2 minutes ago Up 2 minutes 8000tcp whoami27d1
$ curl -4 localhost8000
Im bce5eaff8433c
OH YEAH
SCALE IT BACK DOWN
$ docker service scale whoami=0 whoami scaled to 0
DO THIS ON THE MANAGER PI
DEPLOY YOUR OWN GO APP TO THE CLUSTER
BUILD YOUR DOCKER IMAGE ON THE MANAGER PIFROM golang FROM alexellis2go-armhf175 WORKDIR gosrcwelpweather ADD gosrcwelpweather
ENV OWM_API_KEY ltinsert_api_keygt RUN go get -d -v RUN go install -v RUN go build RUN env GOOS=linux GOARCH=arm GOARM=5 go build ENTRYPOINT welpweather EXPOSE 6969
BUILD THE NEW DOCKERFILE$ docker build -t willywoswelpweather Step 99 EXPOSE 6969 ---gt Running in 68d8ccb0302c ---gt 0c485fc927f9
Removing intermediate container 68d8ccb0302c
Successfully built 0c485fc927f9
VERIFY THAT IMAGE IS WORKINGDo this from your host computer
telnet 1921680100 6969
YOU SHOULD SEE THIS
LAUNCH AND SCALE THE SERVICE$ docker service create mdash-name welpweather mdash-publish 69696969 willywoswelpweather
$ docker service scale welpweather=3
$ docker container stop fbdf88debc8f
VERIFY THE SERVICE RUNS ON THE OTHER PIrsquoS$ docker service ls ID NAME MODE REPLICAS IMAGE nj4gv702ha84 whoami replicated 00 hypriotrpi-whoamilatest u7pz5yp2ebm5 welpweather replicated 33 willywoswelpweather
$ telnet 1921680101 6969
OH YEAH
SCALE IT BACK DOWN
$ docker service scale welpweather=0 welpweather scaled to 0
DO THIS ON THE MANAGER PI
HELPFUL THINGS$ docker node ps
$ docker service ltservice-namegt logs
$ docker swarm join-token worker
$ docker service update --image hubdockercomimage service
REVIEW 1) CREATED A PI CLUSTER 2) RAN A SERVICE 3) DEPLOYED OUR OWN GO APP 4) PROFIT
THANK YOU
Please Sign My Guestbookhttpswills-guestbookherokuappcom
Website wosnetnet
WHAT IS HYPRIOT (HIP-RIOT)
HYPRIOT IS AN OS THATrsquoS ALREADY LOADED WITH DOCKER + DOCKER SWARM amp BUILT FOR ARM
HTTPBLOGHYPRIOTCOM
HOW TO FLASH THE SD-CARDS
$ curl -O curl -O httpsrawgithubusercontentcomhypriotflashmaster$(uname -s)flash$ chmod +x flash$ sudo mv flash usrlocalbinflash
DOWNLOAD FLASH
PLUG IN SDCARD RUN FLASH
$flash mdash-hostname sw-pi1 httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
$flash mdash-hostname sw-pi2 httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
$flash mdash-hostname sw-pi3 httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
MAKE SURE TO CHANGE THE HOSTNAME ARGUMENT $flash mdash-hostname black-pearl httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
IT SHOULD LOOK LIKE THIS
PUT THE SD CARDS INTO THE RASPBERRY PI
PLUG EVERYTHING IN THEN POWER IT UP
A SHEEP A DRUM AND A SNAKE FELL OFF A CLIFF
BAA-DUM-TSS
I LOVE THE SWARMA ITrsquoS SO EASY ITrsquoS BIGLY WINNING
Donald Trump
$ ssh pirate1921680100$ docker swarm init
CREATING THE DOCKER SWARM
Swarm initialized current node (mxgp6ta0yln3hwqrn2iawnvdh) is now a manager
To add a worker to this swarm run the following command
docker swarm join --token SWMTKN-1-4rmlnoly0tr652k1xjgbm5xwpx12l2wa8kpzwlr7c3rnyo81fl-e9rsyimu82cle1nbqbqm8q4er 19216801002377
To add a manager to this swarm run docker swarm join-token manager and follow the instructions
DO THIS ON THE PI YOU WANT AS THE MANAGER
$ ssh pirate1921680101$ docker swarm join --token SWMTKN-1-4rmlnoly0tr652k1xjgbm5xwpx12l2wa8kpzwlr7c3rnyo81fl-e9rsyimu82cle1nbqbqm8q4er 19216801002377
This node joined a swarm as a worker
ADDING WORKERS DO THIS FOR ALL THE OTHER RASPBERRY PIrsquoS
VIEWING YOUR NODES$ docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
a1s9roh5aso7nvactav39l26s sw-pi1 Ready Active
a8lkxhphl2dhxu1ht35xhr1k2 black-pearl Ready Active Leader
jc33a76532hlyen9rbei3rnz9 sw-pi2 Ready Active
nildn6z5jwpfo8me1vzdy8t30 sw-pi3 Ready Active
CREATE A SERVICE
$ docker service create --name whoami -p 80808000 hypriotrpi-whoami
SIMPLE EXAMPLE OF A HYPRIOT DOCKER IMAGE
SCALE THE SERVICE
$ docker service scale whoami=4 whoami scaled to 4
RUN THE SERVICE ON ALL THE NODES
$ docker service ls ID NAME MODE REPLICAS IMAGE h8gin96aen81 whoami replicated 11 hypriotrpi-whoamilatest
$ docker service ls ID NAME MODE REPLICAS IMAGE h8gin96aen81 whoami replicated 44 hypriotrpi-whoamilatest
VERIFY THE NODE IS RUNNING THE SERVICE
$ ssh pirate1921680101
HypriotOSarmv7 piratesw-pi1 in ~
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 01bf2cc93a71 rpi-whoami http 2 minutes ago Up 2 minutes 8000tcp whoami27d1
$ curl -4 localhost8000
Im bce5eaff8433c
OH YEAH
SCALE IT BACK DOWN
$ docker service scale whoami=0 whoami scaled to 0
DO THIS ON THE MANAGER PI
DEPLOY YOUR OWN GO APP TO THE CLUSTER
BUILD YOUR DOCKER IMAGE ON THE MANAGER PIFROM golang FROM alexellis2go-armhf175 WORKDIR gosrcwelpweather ADD gosrcwelpweather
ENV OWM_API_KEY ltinsert_api_keygt RUN go get -d -v RUN go install -v RUN go build RUN env GOOS=linux GOARCH=arm GOARM=5 go build ENTRYPOINT welpweather EXPOSE 6969
BUILD THE NEW DOCKERFILE$ docker build -t willywoswelpweather Step 99 EXPOSE 6969 ---gt Running in 68d8ccb0302c ---gt 0c485fc927f9
Removing intermediate container 68d8ccb0302c
Successfully built 0c485fc927f9
VERIFY THAT IMAGE IS WORKINGDo this from your host computer
telnet 1921680100 6969
YOU SHOULD SEE THIS
LAUNCH AND SCALE THE SERVICE$ docker service create mdash-name welpweather mdash-publish 69696969 willywoswelpweather
$ docker service scale welpweather=3
$ docker container stop fbdf88debc8f
VERIFY THE SERVICE RUNS ON THE OTHER PIrsquoS$ docker service ls ID NAME MODE REPLICAS IMAGE nj4gv702ha84 whoami replicated 00 hypriotrpi-whoamilatest u7pz5yp2ebm5 welpweather replicated 33 willywoswelpweather
$ telnet 1921680101 6969
OH YEAH
SCALE IT BACK DOWN
$ docker service scale welpweather=0 welpweather scaled to 0
DO THIS ON THE MANAGER PI
HELPFUL THINGS$ docker node ps
$ docker service ltservice-namegt logs
$ docker swarm join-token worker
$ docker service update --image hubdockercomimage service
REVIEW 1) CREATED A PI CLUSTER 2) RAN A SERVICE 3) DEPLOYED OUR OWN GO APP 4) PROFIT
THANK YOU
Please Sign My Guestbookhttpswills-guestbookherokuappcom
Website wosnetnet
HYPRIOT IS AN OS THATrsquoS ALREADY LOADED WITH DOCKER + DOCKER SWARM amp BUILT FOR ARM
HTTPBLOGHYPRIOTCOM
HOW TO FLASH THE SD-CARDS
$ curl -O curl -O httpsrawgithubusercontentcomhypriotflashmaster$(uname -s)flash$ chmod +x flash$ sudo mv flash usrlocalbinflash
DOWNLOAD FLASH
PLUG IN SDCARD RUN FLASH
$flash mdash-hostname sw-pi1 httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
$flash mdash-hostname sw-pi2 httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
$flash mdash-hostname sw-pi3 httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
MAKE SURE TO CHANGE THE HOSTNAME ARGUMENT $flash mdash-hostname black-pearl httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
IT SHOULD LOOK LIKE THIS
PUT THE SD CARDS INTO THE RASPBERRY PI
PLUG EVERYTHING IN THEN POWER IT UP
A SHEEP A DRUM AND A SNAKE FELL OFF A CLIFF
BAA-DUM-TSS
I LOVE THE SWARMA ITrsquoS SO EASY ITrsquoS BIGLY WINNING
Donald Trump
$ ssh pirate1921680100$ docker swarm init
CREATING THE DOCKER SWARM
Swarm initialized current node (mxgp6ta0yln3hwqrn2iawnvdh) is now a manager
To add a worker to this swarm run the following command
docker swarm join --token SWMTKN-1-4rmlnoly0tr652k1xjgbm5xwpx12l2wa8kpzwlr7c3rnyo81fl-e9rsyimu82cle1nbqbqm8q4er 19216801002377
To add a manager to this swarm run docker swarm join-token manager and follow the instructions
DO THIS ON THE PI YOU WANT AS THE MANAGER
$ ssh pirate1921680101$ docker swarm join --token SWMTKN-1-4rmlnoly0tr652k1xjgbm5xwpx12l2wa8kpzwlr7c3rnyo81fl-e9rsyimu82cle1nbqbqm8q4er 19216801002377
This node joined a swarm as a worker
ADDING WORKERS DO THIS FOR ALL THE OTHER RASPBERRY PIrsquoS
VIEWING YOUR NODES$ docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
a1s9roh5aso7nvactav39l26s sw-pi1 Ready Active
a8lkxhphl2dhxu1ht35xhr1k2 black-pearl Ready Active Leader
jc33a76532hlyen9rbei3rnz9 sw-pi2 Ready Active
nildn6z5jwpfo8me1vzdy8t30 sw-pi3 Ready Active
CREATE A SERVICE
$ docker service create --name whoami -p 80808000 hypriotrpi-whoami
SIMPLE EXAMPLE OF A HYPRIOT DOCKER IMAGE
SCALE THE SERVICE
$ docker service scale whoami=4 whoami scaled to 4
RUN THE SERVICE ON ALL THE NODES
$ docker service ls ID NAME MODE REPLICAS IMAGE h8gin96aen81 whoami replicated 11 hypriotrpi-whoamilatest
$ docker service ls ID NAME MODE REPLICAS IMAGE h8gin96aen81 whoami replicated 44 hypriotrpi-whoamilatest
VERIFY THE NODE IS RUNNING THE SERVICE
$ ssh pirate1921680101
HypriotOSarmv7 piratesw-pi1 in ~
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 01bf2cc93a71 rpi-whoami http 2 minutes ago Up 2 minutes 8000tcp whoami27d1
$ curl -4 localhost8000
Im bce5eaff8433c
OH YEAH
SCALE IT BACK DOWN
$ docker service scale whoami=0 whoami scaled to 0
DO THIS ON THE MANAGER PI
DEPLOY YOUR OWN GO APP TO THE CLUSTER
BUILD YOUR DOCKER IMAGE ON THE MANAGER PIFROM golang FROM alexellis2go-armhf175 WORKDIR gosrcwelpweather ADD gosrcwelpweather
ENV OWM_API_KEY ltinsert_api_keygt RUN go get -d -v RUN go install -v RUN go build RUN env GOOS=linux GOARCH=arm GOARM=5 go build ENTRYPOINT welpweather EXPOSE 6969
BUILD THE NEW DOCKERFILE$ docker build -t willywoswelpweather Step 99 EXPOSE 6969 ---gt Running in 68d8ccb0302c ---gt 0c485fc927f9
Removing intermediate container 68d8ccb0302c
Successfully built 0c485fc927f9
VERIFY THAT IMAGE IS WORKINGDo this from your host computer
telnet 1921680100 6969
YOU SHOULD SEE THIS
LAUNCH AND SCALE THE SERVICE$ docker service create mdash-name welpweather mdash-publish 69696969 willywoswelpweather
$ docker service scale welpweather=3
$ docker container stop fbdf88debc8f
VERIFY THE SERVICE RUNS ON THE OTHER PIrsquoS$ docker service ls ID NAME MODE REPLICAS IMAGE nj4gv702ha84 whoami replicated 00 hypriotrpi-whoamilatest u7pz5yp2ebm5 welpweather replicated 33 willywoswelpweather
$ telnet 1921680101 6969
OH YEAH
SCALE IT BACK DOWN
$ docker service scale welpweather=0 welpweather scaled to 0
DO THIS ON THE MANAGER PI
HELPFUL THINGS$ docker node ps
$ docker service ltservice-namegt logs
$ docker swarm join-token worker
$ docker service update --image hubdockercomimage service
REVIEW 1) CREATED A PI CLUSTER 2) RAN A SERVICE 3) DEPLOYED OUR OWN GO APP 4) PROFIT
THANK YOU
Please Sign My Guestbookhttpswills-guestbookherokuappcom
Website wosnetnet
HOW TO FLASH THE SD-CARDS
$ curl -O curl -O httpsrawgithubusercontentcomhypriotflashmaster$(uname -s)flash$ chmod +x flash$ sudo mv flash usrlocalbinflash
DOWNLOAD FLASH
PLUG IN SDCARD RUN FLASH
$flash mdash-hostname sw-pi1 httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
$flash mdash-hostname sw-pi2 httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
$flash mdash-hostname sw-pi3 httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
MAKE SURE TO CHANGE THE HOSTNAME ARGUMENT $flash mdash-hostname black-pearl httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
IT SHOULD LOOK LIKE THIS
PUT THE SD CARDS INTO THE RASPBERRY PI
PLUG EVERYTHING IN THEN POWER IT UP
A SHEEP A DRUM AND A SNAKE FELL OFF A CLIFF
BAA-DUM-TSS
I LOVE THE SWARMA ITrsquoS SO EASY ITrsquoS BIGLY WINNING
Donald Trump
$ ssh pirate1921680100$ docker swarm init
CREATING THE DOCKER SWARM
Swarm initialized current node (mxgp6ta0yln3hwqrn2iawnvdh) is now a manager
To add a worker to this swarm run the following command
docker swarm join --token SWMTKN-1-4rmlnoly0tr652k1xjgbm5xwpx12l2wa8kpzwlr7c3rnyo81fl-e9rsyimu82cle1nbqbqm8q4er 19216801002377
To add a manager to this swarm run docker swarm join-token manager and follow the instructions
DO THIS ON THE PI YOU WANT AS THE MANAGER
$ ssh pirate1921680101$ docker swarm join --token SWMTKN-1-4rmlnoly0tr652k1xjgbm5xwpx12l2wa8kpzwlr7c3rnyo81fl-e9rsyimu82cle1nbqbqm8q4er 19216801002377
This node joined a swarm as a worker
ADDING WORKERS DO THIS FOR ALL THE OTHER RASPBERRY PIrsquoS
VIEWING YOUR NODES$ docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
a1s9roh5aso7nvactav39l26s sw-pi1 Ready Active
a8lkxhphl2dhxu1ht35xhr1k2 black-pearl Ready Active Leader
jc33a76532hlyen9rbei3rnz9 sw-pi2 Ready Active
nildn6z5jwpfo8me1vzdy8t30 sw-pi3 Ready Active
CREATE A SERVICE
$ docker service create --name whoami -p 80808000 hypriotrpi-whoami
SIMPLE EXAMPLE OF A HYPRIOT DOCKER IMAGE
SCALE THE SERVICE
$ docker service scale whoami=4 whoami scaled to 4
RUN THE SERVICE ON ALL THE NODES
$ docker service ls ID NAME MODE REPLICAS IMAGE h8gin96aen81 whoami replicated 11 hypriotrpi-whoamilatest
$ docker service ls ID NAME MODE REPLICAS IMAGE h8gin96aen81 whoami replicated 44 hypriotrpi-whoamilatest
VERIFY THE NODE IS RUNNING THE SERVICE
$ ssh pirate1921680101
HypriotOSarmv7 piratesw-pi1 in ~
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 01bf2cc93a71 rpi-whoami http 2 minutes ago Up 2 minutes 8000tcp whoami27d1
$ curl -4 localhost8000
Im bce5eaff8433c
OH YEAH
SCALE IT BACK DOWN
$ docker service scale whoami=0 whoami scaled to 0
DO THIS ON THE MANAGER PI
DEPLOY YOUR OWN GO APP TO THE CLUSTER
BUILD YOUR DOCKER IMAGE ON THE MANAGER PIFROM golang FROM alexellis2go-armhf175 WORKDIR gosrcwelpweather ADD gosrcwelpweather
ENV OWM_API_KEY ltinsert_api_keygt RUN go get -d -v RUN go install -v RUN go build RUN env GOOS=linux GOARCH=arm GOARM=5 go build ENTRYPOINT welpweather EXPOSE 6969
BUILD THE NEW DOCKERFILE$ docker build -t willywoswelpweather Step 99 EXPOSE 6969 ---gt Running in 68d8ccb0302c ---gt 0c485fc927f9
Removing intermediate container 68d8ccb0302c
Successfully built 0c485fc927f9
VERIFY THAT IMAGE IS WORKINGDo this from your host computer
telnet 1921680100 6969
YOU SHOULD SEE THIS
LAUNCH AND SCALE THE SERVICE$ docker service create mdash-name welpweather mdash-publish 69696969 willywoswelpweather
$ docker service scale welpweather=3
$ docker container stop fbdf88debc8f
VERIFY THE SERVICE RUNS ON THE OTHER PIrsquoS$ docker service ls ID NAME MODE REPLICAS IMAGE nj4gv702ha84 whoami replicated 00 hypriotrpi-whoamilatest u7pz5yp2ebm5 welpweather replicated 33 willywoswelpweather
$ telnet 1921680101 6969
OH YEAH
SCALE IT BACK DOWN
$ docker service scale welpweather=0 welpweather scaled to 0
DO THIS ON THE MANAGER PI
HELPFUL THINGS$ docker node ps
$ docker service ltservice-namegt logs
$ docker swarm join-token worker
$ docker service update --image hubdockercomimage service
REVIEW 1) CREATED A PI CLUSTER 2) RAN A SERVICE 3) DEPLOYED OUR OWN GO APP 4) PROFIT
THANK YOU
Please Sign My Guestbookhttpswills-guestbookherokuappcom
Website wosnetnet
$ curl -O curl -O httpsrawgithubusercontentcomhypriotflashmaster$(uname -s)flash$ chmod +x flash$ sudo mv flash usrlocalbinflash
DOWNLOAD FLASH
PLUG IN SDCARD RUN FLASH
$flash mdash-hostname sw-pi1 httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
$flash mdash-hostname sw-pi2 httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
$flash mdash-hostname sw-pi3 httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
MAKE SURE TO CHANGE THE HOSTNAME ARGUMENT $flash mdash-hostname black-pearl httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
IT SHOULD LOOK LIKE THIS
PUT THE SD CARDS INTO THE RASPBERRY PI
PLUG EVERYTHING IN THEN POWER IT UP
A SHEEP A DRUM AND A SNAKE FELL OFF A CLIFF
BAA-DUM-TSS
I LOVE THE SWARMA ITrsquoS SO EASY ITrsquoS BIGLY WINNING
Donald Trump
$ ssh pirate1921680100$ docker swarm init
CREATING THE DOCKER SWARM
Swarm initialized current node (mxgp6ta0yln3hwqrn2iawnvdh) is now a manager
To add a worker to this swarm run the following command
docker swarm join --token SWMTKN-1-4rmlnoly0tr652k1xjgbm5xwpx12l2wa8kpzwlr7c3rnyo81fl-e9rsyimu82cle1nbqbqm8q4er 19216801002377
To add a manager to this swarm run docker swarm join-token manager and follow the instructions
DO THIS ON THE PI YOU WANT AS THE MANAGER
$ ssh pirate1921680101$ docker swarm join --token SWMTKN-1-4rmlnoly0tr652k1xjgbm5xwpx12l2wa8kpzwlr7c3rnyo81fl-e9rsyimu82cle1nbqbqm8q4er 19216801002377
This node joined a swarm as a worker
ADDING WORKERS DO THIS FOR ALL THE OTHER RASPBERRY PIrsquoS
VIEWING YOUR NODES$ docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
a1s9roh5aso7nvactav39l26s sw-pi1 Ready Active
a8lkxhphl2dhxu1ht35xhr1k2 black-pearl Ready Active Leader
jc33a76532hlyen9rbei3rnz9 sw-pi2 Ready Active
nildn6z5jwpfo8me1vzdy8t30 sw-pi3 Ready Active
CREATE A SERVICE
$ docker service create --name whoami -p 80808000 hypriotrpi-whoami
SIMPLE EXAMPLE OF A HYPRIOT DOCKER IMAGE
SCALE THE SERVICE
$ docker service scale whoami=4 whoami scaled to 4
RUN THE SERVICE ON ALL THE NODES
$ docker service ls ID NAME MODE REPLICAS IMAGE h8gin96aen81 whoami replicated 11 hypriotrpi-whoamilatest
$ docker service ls ID NAME MODE REPLICAS IMAGE h8gin96aen81 whoami replicated 44 hypriotrpi-whoamilatest
VERIFY THE NODE IS RUNNING THE SERVICE
$ ssh pirate1921680101
HypriotOSarmv7 piratesw-pi1 in ~
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 01bf2cc93a71 rpi-whoami http 2 minutes ago Up 2 minutes 8000tcp whoami27d1
$ curl -4 localhost8000
Im bce5eaff8433c
OH YEAH
SCALE IT BACK DOWN
$ docker service scale whoami=0 whoami scaled to 0
DO THIS ON THE MANAGER PI
DEPLOY YOUR OWN GO APP TO THE CLUSTER
BUILD YOUR DOCKER IMAGE ON THE MANAGER PIFROM golang FROM alexellis2go-armhf175 WORKDIR gosrcwelpweather ADD gosrcwelpweather
ENV OWM_API_KEY ltinsert_api_keygt RUN go get -d -v RUN go install -v RUN go build RUN env GOOS=linux GOARCH=arm GOARM=5 go build ENTRYPOINT welpweather EXPOSE 6969
BUILD THE NEW DOCKERFILE$ docker build -t willywoswelpweather Step 99 EXPOSE 6969 ---gt Running in 68d8ccb0302c ---gt 0c485fc927f9
Removing intermediate container 68d8ccb0302c
Successfully built 0c485fc927f9
VERIFY THAT IMAGE IS WORKINGDo this from your host computer
telnet 1921680100 6969
YOU SHOULD SEE THIS
LAUNCH AND SCALE THE SERVICE$ docker service create mdash-name welpweather mdash-publish 69696969 willywoswelpweather
$ docker service scale welpweather=3
$ docker container stop fbdf88debc8f
VERIFY THE SERVICE RUNS ON THE OTHER PIrsquoS$ docker service ls ID NAME MODE REPLICAS IMAGE nj4gv702ha84 whoami replicated 00 hypriotrpi-whoamilatest u7pz5yp2ebm5 welpweather replicated 33 willywoswelpweather
$ telnet 1921680101 6969
OH YEAH
SCALE IT BACK DOWN
$ docker service scale welpweather=0 welpweather scaled to 0
DO THIS ON THE MANAGER PI
HELPFUL THINGS$ docker node ps
$ docker service ltservice-namegt logs
$ docker swarm join-token worker
$ docker service update --image hubdockercomimage service
REVIEW 1) CREATED A PI CLUSTER 2) RAN A SERVICE 3) DEPLOYED OUR OWN GO APP 4) PROFIT
THANK YOU
Please Sign My Guestbookhttpswills-guestbookherokuappcom
Website wosnetnet
PLUG IN SDCARD RUN FLASH
$flash mdash-hostname sw-pi1 httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
$flash mdash-hostname sw-pi2 httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
$flash mdash-hostname sw-pi3 httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
MAKE SURE TO CHANGE THE HOSTNAME ARGUMENT $flash mdash-hostname black-pearl httpsgithubcomhypriotimage-builder-rpireleasesdownloadv140hypriotos-rpi-v140imgzip
IT SHOULD LOOK LIKE THIS
PUT THE SD CARDS INTO THE RASPBERRY PI
PLUG EVERYTHING IN THEN POWER IT UP
A SHEEP A DRUM AND A SNAKE FELL OFF A CLIFF
BAA-DUM-TSS
I LOVE THE SWARMA ITrsquoS SO EASY ITrsquoS BIGLY WINNING
Donald Trump
$ ssh pirate1921680100$ docker swarm init
CREATING THE DOCKER SWARM
Swarm initialized current node (mxgp6ta0yln3hwqrn2iawnvdh) is now a manager
To add a worker to this swarm run the following command
docker swarm join --token SWMTKN-1-4rmlnoly0tr652k1xjgbm5xwpx12l2wa8kpzwlr7c3rnyo81fl-e9rsyimu82cle1nbqbqm8q4er 19216801002377
To add a manager to this swarm run docker swarm join-token manager and follow the instructions
DO THIS ON THE PI YOU WANT AS THE MANAGER
$ ssh pirate1921680101$ docker swarm join --token SWMTKN-1-4rmlnoly0tr652k1xjgbm5xwpx12l2wa8kpzwlr7c3rnyo81fl-e9rsyimu82cle1nbqbqm8q4er 19216801002377
This node joined a swarm as a worker
ADDING WORKERS DO THIS FOR ALL THE OTHER RASPBERRY PIrsquoS
VIEWING YOUR NODES$ docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
a1s9roh5aso7nvactav39l26s sw-pi1 Ready Active
a8lkxhphl2dhxu1ht35xhr1k2 black-pearl Ready Active Leader
jc33a76532hlyen9rbei3rnz9 sw-pi2 Ready Active
nildn6z5jwpfo8me1vzdy8t30 sw-pi3 Ready Active
CREATE A SERVICE
$ docker service create --name whoami -p 80808000 hypriotrpi-whoami
SIMPLE EXAMPLE OF A HYPRIOT DOCKER IMAGE
SCALE THE SERVICE
$ docker service scale whoami=4 whoami scaled to 4
RUN THE SERVICE ON ALL THE NODES
$ docker service ls ID NAME MODE REPLICAS IMAGE h8gin96aen81 whoami replicated 11 hypriotrpi-whoamilatest
$ docker service ls ID NAME MODE REPLICAS IMAGE h8gin96aen81 whoami replicated 44 hypriotrpi-whoamilatest
VERIFY THE NODE IS RUNNING THE SERVICE
$ ssh pirate1921680101
HypriotOSarmv7 piratesw-pi1 in ~
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 01bf2cc93a71 rpi-whoami http 2 minutes ago Up 2 minutes 8000tcp whoami27d1
$ curl -4 localhost8000
Im bce5eaff8433c
OH YEAH
SCALE IT BACK DOWN
$ docker service scale whoami=0 whoami scaled to 0
DO THIS ON THE MANAGER PI
DEPLOY YOUR OWN GO APP TO THE CLUSTER
BUILD YOUR DOCKER IMAGE ON THE MANAGER PIFROM golang FROM alexellis2go-armhf175 WORKDIR gosrcwelpweather ADD gosrcwelpweather
ENV OWM_API_KEY ltinsert_api_keygt RUN go get -d -v RUN go install -v RUN go build RUN env GOOS=linux GOARCH=arm GOARM=5 go build ENTRYPOINT welpweather EXPOSE 6969
BUILD THE NEW DOCKERFILE$ docker build -t willywoswelpweather Step 99 EXPOSE 6969 ---gt Running in 68d8ccb0302c ---gt 0c485fc927f9
Removing intermediate container 68d8ccb0302c
Successfully built 0c485fc927f9
VERIFY THAT IMAGE IS WORKINGDo this from your host computer
telnet 1921680100 6969
YOU SHOULD SEE THIS
LAUNCH AND SCALE THE SERVICE$ docker service create mdash-name welpweather mdash-publish 69696969 willywoswelpweather
$ docker service scale welpweather=3
$ docker container stop fbdf88debc8f
VERIFY THE SERVICE RUNS ON THE OTHER PIrsquoS$ docker service ls ID NAME MODE REPLICAS IMAGE nj4gv702ha84 whoami replicated 00 hypriotrpi-whoamilatest u7pz5yp2ebm5 welpweather replicated 33 willywoswelpweather
$ telnet 1921680101 6969
OH YEAH
SCALE IT BACK DOWN
$ docker service scale welpweather=0 welpweather scaled to 0
DO THIS ON THE MANAGER PI
HELPFUL THINGS$ docker node ps
$ docker service ltservice-namegt logs
$ docker swarm join-token worker
$ docker service update --image hubdockercomimage service
REVIEW 1) CREATED A PI CLUSTER 2) RAN A SERVICE 3) DEPLOYED OUR OWN GO APP 4) PROFIT
THANK YOU
Please Sign My Guestbookhttpswills-guestbookherokuappcom
Website wosnetnet
IT SHOULD LOOK LIKE THIS
PUT THE SD CARDS INTO THE RASPBERRY PI
PLUG EVERYTHING IN THEN POWER IT UP
A SHEEP A DRUM AND A SNAKE FELL OFF A CLIFF
BAA-DUM-TSS
I LOVE THE SWARMA ITrsquoS SO EASY ITrsquoS BIGLY WINNING
Donald Trump
$ ssh pirate1921680100$ docker swarm init
CREATING THE DOCKER SWARM
Swarm initialized current node (mxgp6ta0yln3hwqrn2iawnvdh) is now a manager
To add a worker to this swarm run the following command
docker swarm join --token SWMTKN-1-4rmlnoly0tr652k1xjgbm5xwpx12l2wa8kpzwlr7c3rnyo81fl-e9rsyimu82cle1nbqbqm8q4er 19216801002377
To add a manager to this swarm run docker swarm join-token manager and follow the instructions
DO THIS ON THE PI YOU WANT AS THE MANAGER
$ ssh pirate1921680101$ docker swarm join --token SWMTKN-1-4rmlnoly0tr652k1xjgbm5xwpx12l2wa8kpzwlr7c3rnyo81fl-e9rsyimu82cle1nbqbqm8q4er 19216801002377
This node joined a swarm as a worker
ADDING WORKERS DO THIS FOR ALL THE OTHER RASPBERRY PIrsquoS
VIEWING YOUR NODES$ docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
a1s9roh5aso7nvactav39l26s sw-pi1 Ready Active
a8lkxhphl2dhxu1ht35xhr1k2 black-pearl Ready Active Leader
jc33a76532hlyen9rbei3rnz9 sw-pi2 Ready Active
nildn6z5jwpfo8me1vzdy8t30 sw-pi3 Ready Active
CREATE A SERVICE
$ docker service create --name whoami -p 80808000 hypriotrpi-whoami
SIMPLE EXAMPLE OF A HYPRIOT DOCKER IMAGE
SCALE THE SERVICE
$ docker service scale whoami=4 whoami scaled to 4
RUN THE SERVICE ON ALL THE NODES
$ docker service ls ID NAME MODE REPLICAS IMAGE h8gin96aen81 whoami replicated 11 hypriotrpi-whoamilatest
$ docker service ls ID NAME MODE REPLICAS IMAGE h8gin96aen81 whoami replicated 44 hypriotrpi-whoamilatest
VERIFY THE NODE IS RUNNING THE SERVICE
$ ssh pirate1921680101
HypriotOSarmv7 piratesw-pi1 in ~
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 01bf2cc93a71 rpi-whoami http 2 minutes ago Up 2 minutes 8000tcp whoami27d1
$ curl -4 localhost8000
Im bce5eaff8433c
OH YEAH
SCALE IT BACK DOWN
$ docker service scale whoami=0 whoami scaled to 0
DO THIS ON THE MANAGER PI
DEPLOY YOUR OWN GO APP TO THE CLUSTER
BUILD YOUR DOCKER IMAGE ON THE MANAGER PIFROM golang FROM alexellis2go-armhf175 WORKDIR gosrcwelpweather ADD gosrcwelpweather
ENV OWM_API_KEY ltinsert_api_keygt RUN go get -d -v RUN go install -v RUN go build RUN env GOOS=linux GOARCH=arm GOARM=5 go build ENTRYPOINT welpweather EXPOSE 6969
BUILD THE NEW DOCKERFILE$ docker build -t willywoswelpweather Step 99 EXPOSE 6969 ---gt Running in 68d8ccb0302c ---gt 0c485fc927f9
Removing intermediate container 68d8ccb0302c
Successfully built 0c485fc927f9
VERIFY THAT IMAGE IS WORKINGDo this from your host computer
telnet 1921680100 6969
YOU SHOULD SEE THIS
LAUNCH AND SCALE THE SERVICE$ docker service create mdash-name welpweather mdash-publish 69696969 willywoswelpweather
$ docker service scale welpweather=3
$ docker container stop fbdf88debc8f
VERIFY THE SERVICE RUNS ON THE OTHER PIrsquoS$ docker service ls ID NAME MODE REPLICAS IMAGE nj4gv702ha84 whoami replicated 00 hypriotrpi-whoamilatest u7pz5yp2ebm5 welpweather replicated 33 willywoswelpweather
$ telnet 1921680101 6969
OH YEAH
SCALE IT BACK DOWN
$ docker service scale welpweather=0 welpweather scaled to 0
DO THIS ON THE MANAGER PI
HELPFUL THINGS$ docker node ps
$ docker service ltservice-namegt logs
$ docker swarm join-token worker
$ docker service update --image hubdockercomimage service
REVIEW 1) CREATED A PI CLUSTER 2) RAN A SERVICE 3) DEPLOYED OUR OWN GO APP 4) PROFIT
THANK YOU
Please Sign My Guestbookhttpswills-guestbookherokuappcom
Website wosnetnet
PUT THE SD CARDS INTO THE RASPBERRY PI
PLUG EVERYTHING IN THEN POWER IT UP
A SHEEP A DRUM AND A SNAKE FELL OFF A CLIFF
BAA-DUM-TSS
I LOVE THE SWARMA ITrsquoS SO EASY ITrsquoS BIGLY WINNING
Donald Trump
$ ssh pirate1921680100$ docker swarm init
CREATING THE DOCKER SWARM
Swarm initialized current node (mxgp6ta0yln3hwqrn2iawnvdh) is now a manager
To add a worker to this swarm run the following command
docker swarm join --token SWMTKN-1-4rmlnoly0tr652k1xjgbm5xwpx12l2wa8kpzwlr7c3rnyo81fl-e9rsyimu82cle1nbqbqm8q4er 19216801002377
To add a manager to this swarm run docker swarm join-token manager and follow the instructions
DO THIS ON THE PI YOU WANT AS THE MANAGER
$ ssh pirate1921680101$ docker swarm join --token SWMTKN-1-4rmlnoly0tr652k1xjgbm5xwpx12l2wa8kpzwlr7c3rnyo81fl-e9rsyimu82cle1nbqbqm8q4er 19216801002377
This node joined a swarm as a worker
ADDING WORKERS DO THIS FOR ALL THE OTHER RASPBERRY PIrsquoS
VIEWING YOUR NODES$ docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
a1s9roh5aso7nvactav39l26s sw-pi1 Ready Active
a8lkxhphl2dhxu1ht35xhr1k2 black-pearl Ready Active Leader
jc33a76532hlyen9rbei3rnz9 sw-pi2 Ready Active
nildn6z5jwpfo8me1vzdy8t30 sw-pi3 Ready Active
CREATE A SERVICE
$ docker service create --name whoami -p 80808000 hypriotrpi-whoami
SIMPLE EXAMPLE OF A HYPRIOT DOCKER IMAGE
SCALE THE SERVICE
$ docker service scale whoami=4 whoami scaled to 4
RUN THE SERVICE ON ALL THE NODES
$ docker service ls ID NAME MODE REPLICAS IMAGE h8gin96aen81 whoami replicated 11 hypriotrpi-whoamilatest
$ docker service ls ID NAME MODE REPLICAS IMAGE h8gin96aen81 whoami replicated 44 hypriotrpi-whoamilatest
VERIFY THE NODE IS RUNNING THE SERVICE
$ ssh pirate1921680101
HypriotOSarmv7 piratesw-pi1 in ~
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 01bf2cc93a71 rpi-whoami http 2 minutes ago Up 2 minutes 8000tcp whoami27d1
$ curl -4 localhost8000
Im bce5eaff8433c
OH YEAH
SCALE IT BACK DOWN
$ docker service scale whoami=0 whoami scaled to 0
DO THIS ON THE MANAGER PI
DEPLOY YOUR OWN GO APP TO THE CLUSTER
BUILD YOUR DOCKER IMAGE ON THE MANAGER PIFROM golang FROM alexellis2go-armhf175 WORKDIR gosrcwelpweather ADD gosrcwelpweather
ENV OWM_API_KEY ltinsert_api_keygt RUN go get -d -v RUN go install -v RUN go build RUN env GOOS=linux GOARCH=arm GOARM=5 go build ENTRYPOINT welpweather EXPOSE 6969
BUILD THE NEW DOCKERFILE$ docker build -t willywoswelpweather Step 99 EXPOSE 6969 ---gt Running in 68d8ccb0302c ---gt 0c485fc927f9
Removing intermediate container 68d8ccb0302c
Successfully built 0c485fc927f9
VERIFY THAT IMAGE IS WORKINGDo this from your host computer
telnet 1921680100 6969
YOU SHOULD SEE THIS
LAUNCH AND SCALE THE SERVICE$ docker service create mdash-name welpweather mdash-publish 69696969 willywoswelpweather
$ docker service scale welpweather=3
$ docker container stop fbdf88debc8f
VERIFY THE SERVICE RUNS ON THE OTHER PIrsquoS$ docker service ls ID NAME MODE REPLICAS IMAGE nj4gv702ha84 whoami replicated 00 hypriotrpi-whoamilatest u7pz5yp2ebm5 welpweather replicated 33 willywoswelpweather
$ telnet 1921680101 6969
OH YEAH
SCALE IT BACK DOWN
$ docker service scale welpweather=0 welpweather scaled to 0
DO THIS ON THE MANAGER PI
HELPFUL THINGS$ docker node ps
$ docker service ltservice-namegt logs
$ docker swarm join-token worker
$ docker service update --image hubdockercomimage service
REVIEW 1) CREATED A PI CLUSTER 2) RAN A SERVICE 3) DEPLOYED OUR OWN GO APP 4) PROFIT
THANK YOU
Please Sign My Guestbookhttpswills-guestbookherokuappcom
Website wosnetnet
A SHEEP A DRUM AND A SNAKE FELL OFF A CLIFF
BAA-DUM-TSS
I LOVE THE SWARMA ITrsquoS SO EASY ITrsquoS BIGLY WINNING
Donald Trump
$ ssh pirate1921680100$ docker swarm init
CREATING THE DOCKER SWARM
Swarm initialized current node (mxgp6ta0yln3hwqrn2iawnvdh) is now a manager
To add a worker to this swarm run the following command
docker swarm join --token SWMTKN-1-4rmlnoly0tr652k1xjgbm5xwpx12l2wa8kpzwlr7c3rnyo81fl-e9rsyimu82cle1nbqbqm8q4er 19216801002377
To add a manager to this swarm run docker swarm join-token manager and follow the instructions
DO THIS ON THE PI YOU WANT AS THE MANAGER
$ ssh pirate1921680101$ docker swarm join --token SWMTKN-1-4rmlnoly0tr652k1xjgbm5xwpx12l2wa8kpzwlr7c3rnyo81fl-e9rsyimu82cle1nbqbqm8q4er 19216801002377
This node joined a swarm as a worker
ADDING WORKERS DO THIS FOR ALL THE OTHER RASPBERRY PIrsquoS
VIEWING YOUR NODES$ docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
a1s9roh5aso7nvactav39l26s sw-pi1 Ready Active
a8lkxhphl2dhxu1ht35xhr1k2 black-pearl Ready Active Leader
jc33a76532hlyen9rbei3rnz9 sw-pi2 Ready Active
nildn6z5jwpfo8me1vzdy8t30 sw-pi3 Ready Active
CREATE A SERVICE
$ docker service create --name whoami -p 80808000 hypriotrpi-whoami
SIMPLE EXAMPLE OF A HYPRIOT DOCKER IMAGE
SCALE THE SERVICE
$ docker service scale whoami=4 whoami scaled to 4
RUN THE SERVICE ON ALL THE NODES
$ docker service ls ID NAME MODE REPLICAS IMAGE h8gin96aen81 whoami replicated 11 hypriotrpi-whoamilatest
$ docker service ls ID NAME MODE REPLICAS IMAGE h8gin96aen81 whoami replicated 44 hypriotrpi-whoamilatest
VERIFY THE NODE IS RUNNING THE SERVICE
$ ssh pirate1921680101
HypriotOSarmv7 piratesw-pi1 in ~
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 01bf2cc93a71 rpi-whoami http 2 minutes ago Up 2 minutes 8000tcp whoami27d1
$ curl -4 localhost8000
Im bce5eaff8433c
OH YEAH
SCALE IT BACK DOWN
$ docker service scale whoami=0 whoami scaled to 0
DO THIS ON THE MANAGER PI
DEPLOY YOUR OWN GO APP TO THE CLUSTER
BUILD YOUR DOCKER IMAGE ON THE MANAGER PIFROM golang FROM alexellis2go-armhf175 WORKDIR gosrcwelpweather ADD gosrcwelpweather
ENV OWM_API_KEY ltinsert_api_keygt RUN go get -d -v RUN go install -v RUN go build RUN env GOOS=linux GOARCH=arm GOARM=5 go build ENTRYPOINT welpweather EXPOSE 6969
BUILD THE NEW DOCKERFILE$ docker build -t willywoswelpweather Step 99 EXPOSE 6969 ---gt Running in 68d8ccb0302c ---gt 0c485fc927f9
Removing intermediate container 68d8ccb0302c
Successfully built 0c485fc927f9
VERIFY THAT IMAGE IS WORKINGDo this from your host computer
telnet 1921680100 6969
YOU SHOULD SEE THIS
LAUNCH AND SCALE THE SERVICE$ docker service create mdash-name welpweather mdash-publish 69696969 willywoswelpweather
$ docker service scale welpweather=3
$ docker container stop fbdf88debc8f
VERIFY THE SERVICE RUNS ON THE OTHER PIrsquoS$ docker service ls ID NAME MODE REPLICAS IMAGE nj4gv702ha84 whoami replicated 00 hypriotrpi-whoamilatest u7pz5yp2ebm5 welpweather replicated 33 willywoswelpweather
$ telnet 1921680101 6969
OH YEAH
SCALE IT BACK DOWN
$ docker service scale welpweather=0 welpweather scaled to 0
DO THIS ON THE MANAGER PI
HELPFUL THINGS$ docker node ps
$ docker service ltservice-namegt logs
$ docker swarm join-token worker
$ docker service update --image hubdockercomimage service
REVIEW 1) CREATED A PI CLUSTER 2) RAN A SERVICE 3) DEPLOYED OUR OWN GO APP 4) PROFIT
THANK YOU
Please Sign My Guestbookhttpswills-guestbookherokuappcom
Website wosnetnet
BAA-DUM-TSS
I LOVE THE SWARMA ITrsquoS SO EASY ITrsquoS BIGLY WINNING
Donald Trump
$ ssh pirate1921680100$ docker swarm init
CREATING THE DOCKER SWARM
Swarm initialized current node (mxgp6ta0yln3hwqrn2iawnvdh) is now a manager
To add a worker to this swarm run the following command
docker swarm join --token SWMTKN-1-4rmlnoly0tr652k1xjgbm5xwpx12l2wa8kpzwlr7c3rnyo81fl-e9rsyimu82cle1nbqbqm8q4er 19216801002377
To add a manager to this swarm run docker swarm join-token manager and follow the instructions
DO THIS ON THE PI YOU WANT AS THE MANAGER
$ ssh pirate1921680101$ docker swarm join --token SWMTKN-1-4rmlnoly0tr652k1xjgbm5xwpx12l2wa8kpzwlr7c3rnyo81fl-e9rsyimu82cle1nbqbqm8q4er 19216801002377
This node joined a swarm as a worker
ADDING WORKERS DO THIS FOR ALL THE OTHER RASPBERRY PIrsquoS
VIEWING YOUR NODES$ docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
a1s9roh5aso7nvactav39l26s sw-pi1 Ready Active
a8lkxhphl2dhxu1ht35xhr1k2 black-pearl Ready Active Leader
jc33a76532hlyen9rbei3rnz9 sw-pi2 Ready Active
nildn6z5jwpfo8me1vzdy8t30 sw-pi3 Ready Active
CREATE A SERVICE
$ docker service create --name whoami -p 80808000 hypriotrpi-whoami
SIMPLE EXAMPLE OF A HYPRIOT DOCKER IMAGE
SCALE THE SERVICE
$ docker service scale whoami=4 whoami scaled to 4
RUN THE SERVICE ON ALL THE NODES
$ docker service ls ID NAME MODE REPLICAS IMAGE h8gin96aen81 whoami replicated 11 hypriotrpi-whoamilatest
$ docker service ls ID NAME MODE REPLICAS IMAGE h8gin96aen81 whoami replicated 44 hypriotrpi-whoamilatest
VERIFY THE NODE IS RUNNING THE SERVICE
$ ssh pirate1921680101
HypriotOSarmv7 piratesw-pi1 in ~
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 01bf2cc93a71 rpi-whoami http 2 minutes ago Up 2 minutes 8000tcp whoami27d1
$ curl -4 localhost8000
Im bce5eaff8433c
OH YEAH
SCALE IT BACK DOWN
$ docker service scale whoami=0 whoami scaled to 0
DO THIS ON THE MANAGER PI
DEPLOY YOUR OWN GO APP TO THE CLUSTER
BUILD YOUR DOCKER IMAGE ON THE MANAGER PIFROM golang FROM alexellis2go-armhf175 WORKDIR gosrcwelpweather ADD gosrcwelpweather
ENV OWM_API_KEY ltinsert_api_keygt RUN go get -d -v RUN go install -v RUN go build RUN env GOOS=linux GOARCH=arm GOARM=5 go build ENTRYPOINT welpweather EXPOSE 6969
BUILD THE NEW DOCKERFILE$ docker build -t willywoswelpweather Step 99 EXPOSE 6969 ---gt Running in 68d8ccb0302c ---gt 0c485fc927f9
Removing intermediate container 68d8ccb0302c
Successfully built 0c485fc927f9
VERIFY THAT IMAGE IS WORKINGDo this from your host computer
telnet 1921680100 6969
YOU SHOULD SEE THIS
LAUNCH AND SCALE THE SERVICE$ docker service create mdash-name welpweather mdash-publish 69696969 willywoswelpweather
$ docker service scale welpweather=3
$ docker container stop fbdf88debc8f
VERIFY THE SERVICE RUNS ON THE OTHER PIrsquoS$ docker service ls ID NAME MODE REPLICAS IMAGE nj4gv702ha84 whoami replicated 00 hypriotrpi-whoamilatest u7pz5yp2ebm5 welpweather replicated 33 willywoswelpweather
$ telnet 1921680101 6969
OH YEAH
SCALE IT BACK DOWN
$ docker service scale welpweather=0 welpweather scaled to 0
DO THIS ON THE MANAGER PI
HELPFUL THINGS$ docker node ps
$ docker service ltservice-namegt logs
$ docker swarm join-token worker
$ docker service update --image hubdockercomimage service
REVIEW 1) CREATED A PI CLUSTER 2) RAN A SERVICE 3) DEPLOYED OUR OWN GO APP 4) PROFIT
THANK YOU
Please Sign My Guestbookhttpswills-guestbookherokuappcom
Website wosnetnet
I LOVE THE SWARMA ITrsquoS SO EASY ITrsquoS BIGLY WINNING
Donald Trump
$ ssh pirate1921680100$ docker swarm init
CREATING THE DOCKER SWARM
Swarm initialized current node (mxgp6ta0yln3hwqrn2iawnvdh) is now a manager
To add a worker to this swarm run the following command
docker swarm join --token SWMTKN-1-4rmlnoly0tr652k1xjgbm5xwpx12l2wa8kpzwlr7c3rnyo81fl-e9rsyimu82cle1nbqbqm8q4er 19216801002377
To add a manager to this swarm run docker swarm join-token manager and follow the instructions
DO THIS ON THE PI YOU WANT AS THE MANAGER
$ ssh pirate1921680101$ docker swarm join --token SWMTKN-1-4rmlnoly0tr652k1xjgbm5xwpx12l2wa8kpzwlr7c3rnyo81fl-e9rsyimu82cle1nbqbqm8q4er 19216801002377
This node joined a swarm as a worker
ADDING WORKERS DO THIS FOR ALL THE OTHER RASPBERRY PIrsquoS
VIEWING YOUR NODES$ docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
a1s9roh5aso7nvactav39l26s sw-pi1 Ready Active
a8lkxhphl2dhxu1ht35xhr1k2 black-pearl Ready Active Leader
jc33a76532hlyen9rbei3rnz9 sw-pi2 Ready Active
nildn6z5jwpfo8me1vzdy8t30 sw-pi3 Ready Active
CREATE A SERVICE
$ docker service create --name whoami -p 80808000 hypriotrpi-whoami
SIMPLE EXAMPLE OF A HYPRIOT DOCKER IMAGE
SCALE THE SERVICE
$ docker service scale whoami=4 whoami scaled to 4
RUN THE SERVICE ON ALL THE NODES
$ docker service ls ID NAME MODE REPLICAS IMAGE h8gin96aen81 whoami replicated 11 hypriotrpi-whoamilatest
$ docker service ls ID NAME MODE REPLICAS IMAGE h8gin96aen81 whoami replicated 44 hypriotrpi-whoamilatest
VERIFY THE NODE IS RUNNING THE SERVICE
$ ssh pirate1921680101
HypriotOSarmv7 piratesw-pi1 in ~
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 01bf2cc93a71 rpi-whoami http 2 minutes ago Up 2 minutes 8000tcp whoami27d1
$ curl -4 localhost8000
Im bce5eaff8433c
OH YEAH
SCALE IT BACK DOWN
$ docker service scale whoami=0 whoami scaled to 0
DO THIS ON THE MANAGER PI
DEPLOY YOUR OWN GO APP TO THE CLUSTER
BUILD YOUR DOCKER IMAGE ON THE MANAGER PIFROM golang FROM alexellis2go-armhf175 WORKDIR gosrcwelpweather ADD gosrcwelpweather
ENV OWM_API_KEY ltinsert_api_keygt RUN go get -d -v RUN go install -v RUN go build RUN env GOOS=linux GOARCH=arm GOARM=5 go build ENTRYPOINT welpweather EXPOSE 6969
BUILD THE NEW DOCKERFILE$ docker build -t willywoswelpweather Step 99 EXPOSE 6969 ---gt Running in 68d8ccb0302c ---gt 0c485fc927f9
Removing intermediate container 68d8ccb0302c
Successfully built 0c485fc927f9
VERIFY THAT IMAGE IS WORKINGDo this from your host computer
telnet 1921680100 6969
YOU SHOULD SEE THIS
LAUNCH AND SCALE THE SERVICE$ docker service create mdash-name welpweather mdash-publish 69696969 willywoswelpweather
$ docker service scale welpweather=3
$ docker container stop fbdf88debc8f
VERIFY THE SERVICE RUNS ON THE OTHER PIrsquoS$ docker service ls ID NAME MODE REPLICAS IMAGE nj4gv702ha84 whoami replicated 00 hypriotrpi-whoamilatest u7pz5yp2ebm5 welpweather replicated 33 willywoswelpweather
$ telnet 1921680101 6969
OH YEAH
SCALE IT BACK DOWN
$ docker service scale welpweather=0 welpweather scaled to 0
DO THIS ON THE MANAGER PI
HELPFUL THINGS$ docker node ps
$ docker service ltservice-namegt logs
$ docker swarm join-token worker
$ docker service update --image hubdockercomimage service
REVIEW 1) CREATED A PI CLUSTER 2) RAN A SERVICE 3) DEPLOYED OUR OWN GO APP 4) PROFIT
THANK YOU
Please Sign My Guestbookhttpswills-guestbookherokuappcom
Website wosnetnet
$ ssh pirate1921680100$ docker swarm init
CREATING THE DOCKER SWARM
Swarm initialized current node (mxgp6ta0yln3hwqrn2iawnvdh) is now a manager
To add a worker to this swarm run the following command
docker swarm join --token SWMTKN-1-4rmlnoly0tr652k1xjgbm5xwpx12l2wa8kpzwlr7c3rnyo81fl-e9rsyimu82cle1nbqbqm8q4er 19216801002377
To add a manager to this swarm run docker swarm join-token manager and follow the instructions
DO THIS ON THE PI YOU WANT AS THE MANAGER
$ ssh pirate1921680101$ docker swarm join --token SWMTKN-1-4rmlnoly0tr652k1xjgbm5xwpx12l2wa8kpzwlr7c3rnyo81fl-e9rsyimu82cle1nbqbqm8q4er 19216801002377
This node joined a swarm as a worker
ADDING WORKERS DO THIS FOR ALL THE OTHER RASPBERRY PIrsquoS
VIEWING YOUR NODES$ docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
a1s9roh5aso7nvactav39l26s sw-pi1 Ready Active
a8lkxhphl2dhxu1ht35xhr1k2 black-pearl Ready Active Leader
jc33a76532hlyen9rbei3rnz9 sw-pi2 Ready Active
nildn6z5jwpfo8me1vzdy8t30 sw-pi3 Ready Active
CREATE A SERVICE
$ docker service create --name whoami -p 80808000 hypriotrpi-whoami
SIMPLE EXAMPLE OF A HYPRIOT DOCKER IMAGE
SCALE THE SERVICE
$ docker service scale whoami=4 whoami scaled to 4
RUN THE SERVICE ON ALL THE NODES
$ docker service ls ID NAME MODE REPLICAS IMAGE h8gin96aen81 whoami replicated 11 hypriotrpi-whoamilatest
$ docker service ls ID NAME MODE REPLICAS IMAGE h8gin96aen81 whoami replicated 44 hypriotrpi-whoamilatest
VERIFY THE NODE IS RUNNING THE SERVICE
$ ssh pirate1921680101
HypriotOSarmv7 piratesw-pi1 in ~
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 01bf2cc93a71 rpi-whoami http 2 minutes ago Up 2 minutes 8000tcp whoami27d1
$ curl -4 localhost8000
Im bce5eaff8433c
OH YEAH
SCALE IT BACK DOWN
$ docker service scale whoami=0 whoami scaled to 0
DO THIS ON THE MANAGER PI
DEPLOY YOUR OWN GO APP TO THE CLUSTER
BUILD YOUR DOCKER IMAGE ON THE MANAGER PIFROM golang FROM alexellis2go-armhf175 WORKDIR gosrcwelpweather ADD gosrcwelpweather
ENV OWM_API_KEY ltinsert_api_keygt RUN go get -d -v RUN go install -v RUN go build RUN env GOOS=linux GOARCH=arm GOARM=5 go build ENTRYPOINT welpweather EXPOSE 6969
BUILD THE NEW DOCKERFILE$ docker build -t willywoswelpweather Step 99 EXPOSE 6969 ---gt Running in 68d8ccb0302c ---gt 0c485fc927f9
Removing intermediate container 68d8ccb0302c
Successfully built 0c485fc927f9
VERIFY THAT IMAGE IS WORKINGDo this from your host computer
telnet 1921680100 6969
YOU SHOULD SEE THIS
LAUNCH AND SCALE THE SERVICE$ docker service create mdash-name welpweather mdash-publish 69696969 willywoswelpweather
$ docker service scale welpweather=3
$ docker container stop fbdf88debc8f
VERIFY THE SERVICE RUNS ON THE OTHER PIrsquoS$ docker service ls ID NAME MODE REPLICAS IMAGE nj4gv702ha84 whoami replicated 00 hypriotrpi-whoamilatest u7pz5yp2ebm5 welpweather replicated 33 willywoswelpweather
$ telnet 1921680101 6969
OH YEAH
SCALE IT BACK DOWN
$ docker service scale welpweather=0 welpweather scaled to 0
DO THIS ON THE MANAGER PI
HELPFUL THINGS$ docker node ps
$ docker service ltservice-namegt logs
$ docker swarm join-token worker
$ docker service update --image hubdockercomimage service
REVIEW 1) CREATED A PI CLUSTER 2) RAN A SERVICE 3) DEPLOYED OUR OWN GO APP 4) PROFIT
THANK YOU
Please Sign My Guestbookhttpswills-guestbookherokuappcom
Website wosnetnet
$ ssh pirate1921680101$ docker swarm join --token SWMTKN-1-4rmlnoly0tr652k1xjgbm5xwpx12l2wa8kpzwlr7c3rnyo81fl-e9rsyimu82cle1nbqbqm8q4er 19216801002377
This node joined a swarm as a worker
ADDING WORKERS DO THIS FOR ALL THE OTHER RASPBERRY PIrsquoS
VIEWING YOUR NODES$ docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
a1s9roh5aso7nvactav39l26s sw-pi1 Ready Active
a8lkxhphl2dhxu1ht35xhr1k2 black-pearl Ready Active Leader
jc33a76532hlyen9rbei3rnz9 sw-pi2 Ready Active
nildn6z5jwpfo8me1vzdy8t30 sw-pi3 Ready Active
CREATE A SERVICE
$ docker service create --name whoami -p 80808000 hypriotrpi-whoami
SIMPLE EXAMPLE OF A HYPRIOT DOCKER IMAGE
SCALE THE SERVICE
$ docker service scale whoami=4 whoami scaled to 4
RUN THE SERVICE ON ALL THE NODES
$ docker service ls ID NAME MODE REPLICAS IMAGE h8gin96aen81 whoami replicated 11 hypriotrpi-whoamilatest
$ docker service ls ID NAME MODE REPLICAS IMAGE h8gin96aen81 whoami replicated 44 hypriotrpi-whoamilatest
VERIFY THE NODE IS RUNNING THE SERVICE
$ ssh pirate1921680101
HypriotOSarmv7 piratesw-pi1 in ~
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 01bf2cc93a71 rpi-whoami http 2 minutes ago Up 2 minutes 8000tcp whoami27d1
$ curl -4 localhost8000
Im bce5eaff8433c
OH YEAH
SCALE IT BACK DOWN
$ docker service scale whoami=0 whoami scaled to 0
DO THIS ON THE MANAGER PI
DEPLOY YOUR OWN GO APP TO THE CLUSTER
BUILD YOUR DOCKER IMAGE ON THE MANAGER PIFROM golang FROM alexellis2go-armhf175 WORKDIR gosrcwelpweather ADD gosrcwelpweather
ENV OWM_API_KEY ltinsert_api_keygt RUN go get -d -v RUN go install -v RUN go build RUN env GOOS=linux GOARCH=arm GOARM=5 go build ENTRYPOINT welpweather EXPOSE 6969
BUILD THE NEW DOCKERFILE$ docker build -t willywoswelpweather Step 99 EXPOSE 6969 ---gt Running in 68d8ccb0302c ---gt 0c485fc927f9
Removing intermediate container 68d8ccb0302c
Successfully built 0c485fc927f9
VERIFY THAT IMAGE IS WORKINGDo this from your host computer
telnet 1921680100 6969
YOU SHOULD SEE THIS
LAUNCH AND SCALE THE SERVICE$ docker service create mdash-name welpweather mdash-publish 69696969 willywoswelpweather
$ docker service scale welpweather=3
$ docker container stop fbdf88debc8f
VERIFY THE SERVICE RUNS ON THE OTHER PIrsquoS$ docker service ls ID NAME MODE REPLICAS IMAGE nj4gv702ha84 whoami replicated 00 hypriotrpi-whoamilatest u7pz5yp2ebm5 welpweather replicated 33 willywoswelpweather
$ telnet 1921680101 6969
OH YEAH
SCALE IT BACK DOWN
$ docker service scale welpweather=0 welpweather scaled to 0
DO THIS ON THE MANAGER PI
HELPFUL THINGS$ docker node ps
$ docker service ltservice-namegt logs
$ docker swarm join-token worker
$ docker service update --image hubdockercomimage service
REVIEW 1) CREATED A PI CLUSTER 2) RAN A SERVICE 3) DEPLOYED OUR OWN GO APP 4) PROFIT
THANK YOU
Please Sign My Guestbookhttpswills-guestbookherokuappcom
Website wosnetnet
VIEWING YOUR NODES$ docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
a1s9roh5aso7nvactav39l26s sw-pi1 Ready Active
a8lkxhphl2dhxu1ht35xhr1k2 black-pearl Ready Active Leader
jc33a76532hlyen9rbei3rnz9 sw-pi2 Ready Active
nildn6z5jwpfo8me1vzdy8t30 sw-pi3 Ready Active
CREATE A SERVICE
$ docker service create --name whoami -p 80808000 hypriotrpi-whoami
SIMPLE EXAMPLE OF A HYPRIOT DOCKER IMAGE
SCALE THE SERVICE
$ docker service scale whoami=4 whoami scaled to 4
RUN THE SERVICE ON ALL THE NODES
$ docker service ls ID NAME MODE REPLICAS IMAGE h8gin96aen81 whoami replicated 11 hypriotrpi-whoamilatest
$ docker service ls ID NAME MODE REPLICAS IMAGE h8gin96aen81 whoami replicated 44 hypriotrpi-whoamilatest
VERIFY THE NODE IS RUNNING THE SERVICE
$ ssh pirate1921680101
HypriotOSarmv7 piratesw-pi1 in ~
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 01bf2cc93a71 rpi-whoami http 2 minutes ago Up 2 minutes 8000tcp whoami27d1
$ curl -4 localhost8000
Im bce5eaff8433c
OH YEAH
SCALE IT BACK DOWN
$ docker service scale whoami=0 whoami scaled to 0
DO THIS ON THE MANAGER PI
DEPLOY YOUR OWN GO APP TO THE CLUSTER
BUILD YOUR DOCKER IMAGE ON THE MANAGER PIFROM golang FROM alexellis2go-armhf175 WORKDIR gosrcwelpweather ADD gosrcwelpweather
ENV OWM_API_KEY ltinsert_api_keygt RUN go get -d -v RUN go install -v RUN go build RUN env GOOS=linux GOARCH=arm GOARM=5 go build ENTRYPOINT welpweather EXPOSE 6969
BUILD THE NEW DOCKERFILE$ docker build -t willywoswelpweather Step 99 EXPOSE 6969 ---gt Running in 68d8ccb0302c ---gt 0c485fc927f9
Removing intermediate container 68d8ccb0302c
Successfully built 0c485fc927f9
VERIFY THAT IMAGE IS WORKINGDo this from your host computer
telnet 1921680100 6969
YOU SHOULD SEE THIS
LAUNCH AND SCALE THE SERVICE$ docker service create mdash-name welpweather mdash-publish 69696969 willywoswelpweather
$ docker service scale welpweather=3
$ docker container stop fbdf88debc8f
VERIFY THE SERVICE RUNS ON THE OTHER PIrsquoS$ docker service ls ID NAME MODE REPLICAS IMAGE nj4gv702ha84 whoami replicated 00 hypriotrpi-whoamilatest u7pz5yp2ebm5 welpweather replicated 33 willywoswelpweather
$ telnet 1921680101 6969
OH YEAH
SCALE IT BACK DOWN
$ docker service scale welpweather=0 welpweather scaled to 0
DO THIS ON THE MANAGER PI
HELPFUL THINGS$ docker node ps
$ docker service ltservice-namegt logs
$ docker swarm join-token worker
$ docker service update --image hubdockercomimage service
REVIEW 1) CREATED A PI CLUSTER 2) RAN A SERVICE 3) DEPLOYED OUR OWN GO APP 4) PROFIT
THANK YOU
Please Sign My Guestbookhttpswills-guestbookherokuappcom
Website wosnetnet
CREATE A SERVICE
$ docker service create --name whoami -p 80808000 hypriotrpi-whoami
SIMPLE EXAMPLE OF A HYPRIOT DOCKER IMAGE
SCALE THE SERVICE
$ docker service scale whoami=4 whoami scaled to 4
RUN THE SERVICE ON ALL THE NODES
$ docker service ls ID NAME MODE REPLICAS IMAGE h8gin96aen81 whoami replicated 11 hypriotrpi-whoamilatest
$ docker service ls ID NAME MODE REPLICAS IMAGE h8gin96aen81 whoami replicated 44 hypriotrpi-whoamilatest
VERIFY THE NODE IS RUNNING THE SERVICE
$ ssh pirate1921680101
HypriotOSarmv7 piratesw-pi1 in ~
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 01bf2cc93a71 rpi-whoami http 2 minutes ago Up 2 minutes 8000tcp whoami27d1
$ curl -4 localhost8000
Im bce5eaff8433c
OH YEAH
SCALE IT BACK DOWN
$ docker service scale whoami=0 whoami scaled to 0
DO THIS ON THE MANAGER PI
DEPLOY YOUR OWN GO APP TO THE CLUSTER
BUILD YOUR DOCKER IMAGE ON THE MANAGER PIFROM golang FROM alexellis2go-armhf175 WORKDIR gosrcwelpweather ADD gosrcwelpweather
ENV OWM_API_KEY ltinsert_api_keygt RUN go get -d -v RUN go install -v RUN go build RUN env GOOS=linux GOARCH=arm GOARM=5 go build ENTRYPOINT welpweather EXPOSE 6969
BUILD THE NEW DOCKERFILE$ docker build -t willywoswelpweather Step 99 EXPOSE 6969 ---gt Running in 68d8ccb0302c ---gt 0c485fc927f9
Removing intermediate container 68d8ccb0302c
Successfully built 0c485fc927f9
VERIFY THAT IMAGE IS WORKINGDo this from your host computer
telnet 1921680100 6969
YOU SHOULD SEE THIS
LAUNCH AND SCALE THE SERVICE$ docker service create mdash-name welpweather mdash-publish 69696969 willywoswelpweather
$ docker service scale welpweather=3
$ docker container stop fbdf88debc8f
VERIFY THE SERVICE RUNS ON THE OTHER PIrsquoS$ docker service ls ID NAME MODE REPLICAS IMAGE nj4gv702ha84 whoami replicated 00 hypriotrpi-whoamilatest u7pz5yp2ebm5 welpweather replicated 33 willywoswelpweather
$ telnet 1921680101 6969
OH YEAH
SCALE IT BACK DOWN
$ docker service scale welpweather=0 welpweather scaled to 0
DO THIS ON THE MANAGER PI
HELPFUL THINGS$ docker node ps
$ docker service ltservice-namegt logs
$ docker swarm join-token worker
$ docker service update --image hubdockercomimage service
REVIEW 1) CREATED A PI CLUSTER 2) RAN A SERVICE 3) DEPLOYED OUR OWN GO APP 4) PROFIT
THANK YOU
Please Sign My Guestbookhttpswills-guestbookherokuappcom
Website wosnetnet
SCALE THE SERVICE
$ docker service scale whoami=4 whoami scaled to 4
RUN THE SERVICE ON ALL THE NODES
$ docker service ls ID NAME MODE REPLICAS IMAGE h8gin96aen81 whoami replicated 11 hypriotrpi-whoamilatest
$ docker service ls ID NAME MODE REPLICAS IMAGE h8gin96aen81 whoami replicated 44 hypriotrpi-whoamilatest
VERIFY THE NODE IS RUNNING THE SERVICE
$ ssh pirate1921680101
HypriotOSarmv7 piratesw-pi1 in ~
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 01bf2cc93a71 rpi-whoami http 2 minutes ago Up 2 minutes 8000tcp whoami27d1
$ curl -4 localhost8000
Im bce5eaff8433c
OH YEAH
SCALE IT BACK DOWN
$ docker service scale whoami=0 whoami scaled to 0
DO THIS ON THE MANAGER PI
DEPLOY YOUR OWN GO APP TO THE CLUSTER
BUILD YOUR DOCKER IMAGE ON THE MANAGER PIFROM golang FROM alexellis2go-armhf175 WORKDIR gosrcwelpweather ADD gosrcwelpweather
ENV OWM_API_KEY ltinsert_api_keygt RUN go get -d -v RUN go install -v RUN go build RUN env GOOS=linux GOARCH=arm GOARM=5 go build ENTRYPOINT welpweather EXPOSE 6969
BUILD THE NEW DOCKERFILE$ docker build -t willywoswelpweather Step 99 EXPOSE 6969 ---gt Running in 68d8ccb0302c ---gt 0c485fc927f9
Removing intermediate container 68d8ccb0302c
Successfully built 0c485fc927f9
VERIFY THAT IMAGE IS WORKINGDo this from your host computer
telnet 1921680100 6969
YOU SHOULD SEE THIS
LAUNCH AND SCALE THE SERVICE$ docker service create mdash-name welpweather mdash-publish 69696969 willywoswelpweather
$ docker service scale welpweather=3
$ docker container stop fbdf88debc8f
VERIFY THE SERVICE RUNS ON THE OTHER PIrsquoS$ docker service ls ID NAME MODE REPLICAS IMAGE nj4gv702ha84 whoami replicated 00 hypriotrpi-whoamilatest u7pz5yp2ebm5 welpweather replicated 33 willywoswelpweather
$ telnet 1921680101 6969
OH YEAH
SCALE IT BACK DOWN
$ docker service scale welpweather=0 welpweather scaled to 0
DO THIS ON THE MANAGER PI
HELPFUL THINGS$ docker node ps
$ docker service ltservice-namegt logs
$ docker swarm join-token worker
$ docker service update --image hubdockercomimage service
REVIEW 1) CREATED A PI CLUSTER 2) RAN A SERVICE 3) DEPLOYED OUR OWN GO APP 4) PROFIT
THANK YOU
Please Sign My Guestbookhttpswills-guestbookherokuappcom
Website wosnetnet
VERIFY THE NODE IS RUNNING THE SERVICE
$ ssh pirate1921680101
HypriotOSarmv7 piratesw-pi1 in ~
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 01bf2cc93a71 rpi-whoami http 2 minutes ago Up 2 minutes 8000tcp whoami27d1
$ curl -4 localhost8000
Im bce5eaff8433c
OH YEAH
SCALE IT BACK DOWN
$ docker service scale whoami=0 whoami scaled to 0
DO THIS ON THE MANAGER PI
DEPLOY YOUR OWN GO APP TO THE CLUSTER
BUILD YOUR DOCKER IMAGE ON THE MANAGER PIFROM golang FROM alexellis2go-armhf175 WORKDIR gosrcwelpweather ADD gosrcwelpweather
ENV OWM_API_KEY ltinsert_api_keygt RUN go get -d -v RUN go install -v RUN go build RUN env GOOS=linux GOARCH=arm GOARM=5 go build ENTRYPOINT welpweather EXPOSE 6969
BUILD THE NEW DOCKERFILE$ docker build -t willywoswelpweather Step 99 EXPOSE 6969 ---gt Running in 68d8ccb0302c ---gt 0c485fc927f9
Removing intermediate container 68d8ccb0302c
Successfully built 0c485fc927f9
VERIFY THAT IMAGE IS WORKINGDo this from your host computer
telnet 1921680100 6969
YOU SHOULD SEE THIS
LAUNCH AND SCALE THE SERVICE$ docker service create mdash-name welpweather mdash-publish 69696969 willywoswelpweather
$ docker service scale welpweather=3
$ docker container stop fbdf88debc8f
VERIFY THE SERVICE RUNS ON THE OTHER PIrsquoS$ docker service ls ID NAME MODE REPLICAS IMAGE nj4gv702ha84 whoami replicated 00 hypriotrpi-whoamilatest u7pz5yp2ebm5 welpweather replicated 33 willywoswelpweather
$ telnet 1921680101 6969
OH YEAH
SCALE IT BACK DOWN
$ docker service scale welpweather=0 welpweather scaled to 0
DO THIS ON THE MANAGER PI
HELPFUL THINGS$ docker node ps
$ docker service ltservice-namegt logs
$ docker swarm join-token worker
$ docker service update --image hubdockercomimage service
REVIEW 1) CREATED A PI CLUSTER 2) RAN A SERVICE 3) DEPLOYED OUR OWN GO APP 4) PROFIT
THANK YOU
Please Sign My Guestbookhttpswills-guestbookherokuappcom
Website wosnetnet
OH YEAH
SCALE IT BACK DOWN
$ docker service scale whoami=0 whoami scaled to 0
DO THIS ON THE MANAGER PI
DEPLOY YOUR OWN GO APP TO THE CLUSTER
BUILD YOUR DOCKER IMAGE ON THE MANAGER PIFROM golang FROM alexellis2go-armhf175 WORKDIR gosrcwelpweather ADD gosrcwelpweather
ENV OWM_API_KEY ltinsert_api_keygt RUN go get -d -v RUN go install -v RUN go build RUN env GOOS=linux GOARCH=arm GOARM=5 go build ENTRYPOINT welpweather EXPOSE 6969
BUILD THE NEW DOCKERFILE$ docker build -t willywoswelpweather Step 99 EXPOSE 6969 ---gt Running in 68d8ccb0302c ---gt 0c485fc927f9
Removing intermediate container 68d8ccb0302c
Successfully built 0c485fc927f9
VERIFY THAT IMAGE IS WORKINGDo this from your host computer
telnet 1921680100 6969
YOU SHOULD SEE THIS
LAUNCH AND SCALE THE SERVICE$ docker service create mdash-name welpweather mdash-publish 69696969 willywoswelpweather
$ docker service scale welpweather=3
$ docker container stop fbdf88debc8f
VERIFY THE SERVICE RUNS ON THE OTHER PIrsquoS$ docker service ls ID NAME MODE REPLICAS IMAGE nj4gv702ha84 whoami replicated 00 hypriotrpi-whoamilatest u7pz5yp2ebm5 welpweather replicated 33 willywoswelpweather
$ telnet 1921680101 6969
OH YEAH
SCALE IT BACK DOWN
$ docker service scale welpweather=0 welpweather scaled to 0
DO THIS ON THE MANAGER PI
HELPFUL THINGS$ docker node ps
$ docker service ltservice-namegt logs
$ docker swarm join-token worker
$ docker service update --image hubdockercomimage service
REVIEW 1) CREATED A PI CLUSTER 2) RAN A SERVICE 3) DEPLOYED OUR OWN GO APP 4) PROFIT
THANK YOU
Please Sign My Guestbookhttpswills-guestbookherokuappcom
Website wosnetnet
SCALE IT BACK DOWN
$ docker service scale whoami=0 whoami scaled to 0
DO THIS ON THE MANAGER PI
DEPLOY YOUR OWN GO APP TO THE CLUSTER
BUILD YOUR DOCKER IMAGE ON THE MANAGER PIFROM golang FROM alexellis2go-armhf175 WORKDIR gosrcwelpweather ADD gosrcwelpweather
ENV OWM_API_KEY ltinsert_api_keygt RUN go get -d -v RUN go install -v RUN go build RUN env GOOS=linux GOARCH=arm GOARM=5 go build ENTRYPOINT welpweather EXPOSE 6969
BUILD THE NEW DOCKERFILE$ docker build -t willywoswelpweather Step 99 EXPOSE 6969 ---gt Running in 68d8ccb0302c ---gt 0c485fc927f9
Removing intermediate container 68d8ccb0302c
Successfully built 0c485fc927f9
VERIFY THAT IMAGE IS WORKINGDo this from your host computer
telnet 1921680100 6969
YOU SHOULD SEE THIS
LAUNCH AND SCALE THE SERVICE$ docker service create mdash-name welpweather mdash-publish 69696969 willywoswelpweather
$ docker service scale welpweather=3
$ docker container stop fbdf88debc8f
VERIFY THE SERVICE RUNS ON THE OTHER PIrsquoS$ docker service ls ID NAME MODE REPLICAS IMAGE nj4gv702ha84 whoami replicated 00 hypriotrpi-whoamilatest u7pz5yp2ebm5 welpweather replicated 33 willywoswelpweather
$ telnet 1921680101 6969
OH YEAH
SCALE IT BACK DOWN
$ docker service scale welpweather=0 welpweather scaled to 0
DO THIS ON THE MANAGER PI
HELPFUL THINGS$ docker node ps
$ docker service ltservice-namegt logs
$ docker swarm join-token worker
$ docker service update --image hubdockercomimage service
REVIEW 1) CREATED A PI CLUSTER 2) RAN A SERVICE 3) DEPLOYED OUR OWN GO APP 4) PROFIT
THANK YOU
Please Sign My Guestbookhttpswills-guestbookherokuappcom
Website wosnetnet
DEPLOY YOUR OWN GO APP TO THE CLUSTER
BUILD YOUR DOCKER IMAGE ON THE MANAGER PIFROM golang FROM alexellis2go-armhf175 WORKDIR gosrcwelpweather ADD gosrcwelpweather
ENV OWM_API_KEY ltinsert_api_keygt RUN go get -d -v RUN go install -v RUN go build RUN env GOOS=linux GOARCH=arm GOARM=5 go build ENTRYPOINT welpweather EXPOSE 6969
BUILD THE NEW DOCKERFILE$ docker build -t willywoswelpweather Step 99 EXPOSE 6969 ---gt Running in 68d8ccb0302c ---gt 0c485fc927f9
Removing intermediate container 68d8ccb0302c
Successfully built 0c485fc927f9
VERIFY THAT IMAGE IS WORKINGDo this from your host computer
telnet 1921680100 6969
YOU SHOULD SEE THIS
LAUNCH AND SCALE THE SERVICE$ docker service create mdash-name welpweather mdash-publish 69696969 willywoswelpweather
$ docker service scale welpweather=3
$ docker container stop fbdf88debc8f
VERIFY THE SERVICE RUNS ON THE OTHER PIrsquoS$ docker service ls ID NAME MODE REPLICAS IMAGE nj4gv702ha84 whoami replicated 00 hypriotrpi-whoamilatest u7pz5yp2ebm5 welpweather replicated 33 willywoswelpweather
$ telnet 1921680101 6969
OH YEAH
SCALE IT BACK DOWN
$ docker service scale welpweather=0 welpweather scaled to 0
DO THIS ON THE MANAGER PI
HELPFUL THINGS$ docker node ps
$ docker service ltservice-namegt logs
$ docker swarm join-token worker
$ docker service update --image hubdockercomimage service
REVIEW 1) CREATED A PI CLUSTER 2) RAN A SERVICE 3) DEPLOYED OUR OWN GO APP 4) PROFIT
THANK YOU
Please Sign My Guestbookhttpswills-guestbookherokuappcom
Website wosnetnet
BUILD YOUR DOCKER IMAGE ON THE MANAGER PIFROM golang FROM alexellis2go-armhf175 WORKDIR gosrcwelpweather ADD gosrcwelpweather
ENV OWM_API_KEY ltinsert_api_keygt RUN go get -d -v RUN go install -v RUN go build RUN env GOOS=linux GOARCH=arm GOARM=5 go build ENTRYPOINT welpweather EXPOSE 6969
BUILD THE NEW DOCKERFILE$ docker build -t willywoswelpweather Step 99 EXPOSE 6969 ---gt Running in 68d8ccb0302c ---gt 0c485fc927f9
Removing intermediate container 68d8ccb0302c
Successfully built 0c485fc927f9
VERIFY THAT IMAGE IS WORKINGDo this from your host computer
telnet 1921680100 6969
YOU SHOULD SEE THIS
LAUNCH AND SCALE THE SERVICE$ docker service create mdash-name welpweather mdash-publish 69696969 willywoswelpweather
$ docker service scale welpweather=3
$ docker container stop fbdf88debc8f
VERIFY THE SERVICE RUNS ON THE OTHER PIrsquoS$ docker service ls ID NAME MODE REPLICAS IMAGE nj4gv702ha84 whoami replicated 00 hypriotrpi-whoamilatest u7pz5yp2ebm5 welpweather replicated 33 willywoswelpweather
$ telnet 1921680101 6969
OH YEAH
SCALE IT BACK DOWN
$ docker service scale welpweather=0 welpweather scaled to 0
DO THIS ON THE MANAGER PI
HELPFUL THINGS$ docker node ps
$ docker service ltservice-namegt logs
$ docker swarm join-token worker
$ docker service update --image hubdockercomimage service
REVIEW 1) CREATED A PI CLUSTER 2) RAN A SERVICE 3) DEPLOYED OUR OWN GO APP 4) PROFIT
THANK YOU
Please Sign My Guestbookhttpswills-guestbookherokuappcom
Website wosnetnet
BUILD THE NEW DOCKERFILE$ docker build -t willywoswelpweather Step 99 EXPOSE 6969 ---gt Running in 68d8ccb0302c ---gt 0c485fc927f9
Removing intermediate container 68d8ccb0302c
Successfully built 0c485fc927f9
VERIFY THAT IMAGE IS WORKINGDo this from your host computer
telnet 1921680100 6969
YOU SHOULD SEE THIS
LAUNCH AND SCALE THE SERVICE$ docker service create mdash-name welpweather mdash-publish 69696969 willywoswelpweather
$ docker service scale welpweather=3
$ docker container stop fbdf88debc8f
VERIFY THE SERVICE RUNS ON THE OTHER PIrsquoS$ docker service ls ID NAME MODE REPLICAS IMAGE nj4gv702ha84 whoami replicated 00 hypriotrpi-whoamilatest u7pz5yp2ebm5 welpweather replicated 33 willywoswelpweather
$ telnet 1921680101 6969
OH YEAH
SCALE IT BACK DOWN
$ docker service scale welpweather=0 welpweather scaled to 0
DO THIS ON THE MANAGER PI
HELPFUL THINGS$ docker node ps
$ docker service ltservice-namegt logs
$ docker swarm join-token worker
$ docker service update --image hubdockercomimage service
REVIEW 1) CREATED A PI CLUSTER 2) RAN A SERVICE 3) DEPLOYED OUR OWN GO APP 4) PROFIT
THANK YOU
Please Sign My Guestbookhttpswills-guestbookherokuappcom
Website wosnetnet
VERIFY THAT IMAGE IS WORKINGDo this from your host computer
telnet 1921680100 6969
YOU SHOULD SEE THIS
LAUNCH AND SCALE THE SERVICE$ docker service create mdash-name welpweather mdash-publish 69696969 willywoswelpweather
$ docker service scale welpweather=3
$ docker container stop fbdf88debc8f
VERIFY THE SERVICE RUNS ON THE OTHER PIrsquoS$ docker service ls ID NAME MODE REPLICAS IMAGE nj4gv702ha84 whoami replicated 00 hypriotrpi-whoamilatest u7pz5yp2ebm5 welpweather replicated 33 willywoswelpweather
$ telnet 1921680101 6969
OH YEAH
SCALE IT BACK DOWN
$ docker service scale welpweather=0 welpweather scaled to 0
DO THIS ON THE MANAGER PI
HELPFUL THINGS$ docker node ps
$ docker service ltservice-namegt logs
$ docker swarm join-token worker
$ docker service update --image hubdockercomimage service
REVIEW 1) CREATED A PI CLUSTER 2) RAN A SERVICE 3) DEPLOYED OUR OWN GO APP 4) PROFIT
THANK YOU
Please Sign My Guestbookhttpswills-guestbookherokuappcom
Website wosnetnet
YOU SHOULD SEE THIS
LAUNCH AND SCALE THE SERVICE$ docker service create mdash-name welpweather mdash-publish 69696969 willywoswelpweather
$ docker service scale welpweather=3
$ docker container stop fbdf88debc8f
VERIFY THE SERVICE RUNS ON THE OTHER PIrsquoS$ docker service ls ID NAME MODE REPLICAS IMAGE nj4gv702ha84 whoami replicated 00 hypriotrpi-whoamilatest u7pz5yp2ebm5 welpweather replicated 33 willywoswelpweather
$ telnet 1921680101 6969
OH YEAH
SCALE IT BACK DOWN
$ docker service scale welpweather=0 welpweather scaled to 0
DO THIS ON THE MANAGER PI
HELPFUL THINGS$ docker node ps
$ docker service ltservice-namegt logs
$ docker swarm join-token worker
$ docker service update --image hubdockercomimage service
REVIEW 1) CREATED A PI CLUSTER 2) RAN A SERVICE 3) DEPLOYED OUR OWN GO APP 4) PROFIT
THANK YOU
Please Sign My Guestbookhttpswills-guestbookherokuappcom
Website wosnetnet
LAUNCH AND SCALE THE SERVICE$ docker service create mdash-name welpweather mdash-publish 69696969 willywoswelpweather
$ docker service scale welpweather=3
$ docker container stop fbdf88debc8f
VERIFY THE SERVICE RUNS ON THE OTHER PIrsquoS$ docker service ls ID NAME MODE REPLICAS IMAGE nj4gv702ha84 whoami replicated 00 hypriotrpi-whoamilatest u7pz5yp2ebm5 welpweather replicated 33 willywoswelpweather
$ telnet 1921680101 6969
OH YEAH
SCALE IT BACK DOWN
$ docker service scale welpweather=0 welpweather scaled to 0
DO THIS ON THE MANAGER PI
HELPFUL THINGS$ docker node ps
$ docker service ltservice-namegt logs
$ docker swarm join-token worker
$ docker service update --image hubdockercomimage service
REVIEW 1) CREATED A PI CLUSTER 2) RAN A SERVICE 3) DEPLOYED OUR OWN GO APP 4) PROFIT
THANK YOU
Please Sign My Guestbookhttpswills-guestbookherokuappcom
Website wosnetnet
VERIFY THE SERVICE RUNS ON THE OTHER PIrsquoS$ docker service ls ID NAME MODE REPLICAS IMAGE nj4gv702ha84 whoami replicated 00 hypriotrpi-whoamilatest u7pz5yp2ebm5 welpweather replicated 33 willywoswelpweather
$ telnet 1921680101 6969
OH YEAH
SCALE IT BACK DOWN
$ docker service scale welpweather=0 welpweather scaled to 0
DO THIS ON THE MANAGER PI
HELPFUL THINGS$ docker node ps
$ docker service ltservice-namegt logs
$ docker swarm join-token worker
$ docker service update --image hubdockercomimage service
REVIEW 1) CREATED A PI CLUSTER 2) RAN A SERVICE 3) DEPLOYED OUR OWN GO APP 4) PROFIT
THANK YOU
Please Sign My Guestbookhttpswills-guestbookherokuappcom
Website wosnetnet
OH YEAH
SCALE IT BACK DOWN
$ docker service scale welpweather=0 welpweather scaled to 0
DO THIS ON THE MANAGER PI
HELPFUL THINGS$ docker node ps
$ docker service ltservice-namegt logs
$ docker swarm join-token worker
$ docker service update --image hubdockercomimage service
REVIEW 1) CREATED A PI CLUSTER 2) RAN A SERVICE 3) DEPLOYED OUR OWN GO APP 4) PROFIT
THANK YOU
Please Sign My Guestbookhttpswills-guestbookherokuappcom
Website wosnetnet
SCALE IT BACK DOWN
$ docker service scale welpweather=0 welpweather scaled to 0
DO THIS ON THE MANAGER PI
HELPFUL THINGS$ docker node ps
$ docker service ltservice-namegt logs
$ docker swarm join-token worker
$ docker service update --image hubdockercomimage service
REVIEW 1) CREATED A PI CLUSTER 2) RAN A SERVICE 3) DEPLOYED OUR OWN GO APP 4) PROFIT
THANK YOU
Please Sign My Guestbookhttpswills-guestbookherokuappcom
Website wosnetnet
HELPFUL THINGS$ docker node ps
$ docker service ltservice-namegt logs
$ docker swarm join-token worker
$ docker service update --image hubdockercomimage service
REVIEW 1) CREATED A PI CLUSTER 2) RAN A SERVICE 3) DEPLOYED OUR OWN GO APP 4) PROFIT
THANK YOU
Please Sign My Guestbookhttpswills-guestbookherokuappcom
Website wosnetnet
REVIEW 1) CREATED A PI CLUSTER 2) RAN A SERVICE 3) DEPLOYED OUR OWN GO APP 4) PROFIT
THANK YOU
Please Sign My Guestbookhttpswills-guestbookherokuappcom
Website wosnetnet
THANK YOU
Please Sign My Guestbookhttpswills-guestbookherokuappcom
Website wosnetnet