-
Be comfortable with the UNIX command line
-
navigating directories
-
editing files
-
a little bit of bash-fu (environment variables, loops)
-
-
Some Docker knowledge
-
docker run
,docker ps
,docker build
-
ideally, you know how to write a Dockerfile and build it
(even if it's aFROM
line and a couple ofRUN
commands)
-
-
It's totally OK if you are not a Docker expert!
class: title
Tell me and I forget.
Teach me and I remember.
Involve me and I learn.
Misattributed to Benjamin Franklin
(Probably inspired by Chinese Confucian philosopher Xunzi)
-
The whole workshop is hands-on
-
We are going to build, ship, and run containers!
-
You are invited to reproduce all the demos
-
All hands-on sections are clearly identified, like the gray rectangle below
.exercise[
-
This is the stuff you're supposed to do!
-
Go to @@SLIDES@@ to view these slides
-
Join the chat room: @@CHAT@@
]
class: in-person
class: in-person, pic
class: in-person, extra-details
-
Each person gets a private cluster of cloud VMs (not shared with anybody else)
-
They'll remain up for the duration of the workshop
-
You should have a little card with login+password+IP addresses
-
You can automatically SSH from one VM to another
-
The nodes have aliases:
node1
,node2
, etc.
class: in-person, extra-details
-
Installing this stuff can be hard on some machines
(32 bits CPU or OS... Laptops without administrator access... etc.)
-
"The whole team downloaded all these container images from the WiFi!
... and it went great!" (Literally no-one ever) -
All you need is a computer (or even a phone or tablet!), with:
-
an internet connection
-
a web browser
-
an SSH client
-
class: in-person, extra-details
-
On Linux, OS X, FreeBSD... you are probably all set
-
On Windows, get one of these:
- putty
- Microsoft Win32 OpenSSH
- Git BASH
- MobaXterm
-
On Android, JuiceSSH (Play Store) works pretty well
-
Nice-to-have: Mosh instead of SSH, if your internet connection tends to lose packets
class: in-person, extra-details
You don't have to use Mosh or even know about it to follow along.
We're just telling you about it because some of us think it's cool!
-
Mosh is "the mobile shell"
-
It is essentially SSH over UDP, with roaming features
-
It retransmits packets quickly, so it works great even on lossy connections
(Like hotel or conference WiFi)
-
It has intelligent local echo, so it works great even in high-latency connections
(Like hotel or conference WiFi)
-
It supports transparent roaming when your client IP address changes
(Like when you hop from hotel to conference WiFi)
class: in-person, extra-details
-
To install it:
(apt|yum|brew) install mosh
-
It has been pre-installed on the VMs that we are using
-
To connect to a remote machine:
mosh user@host
(It is going to establish an SSH connection, then hand off to UDP)
-
It requires UDP ports to be open
(By default, it uses a UDP port between 60000 and 61000)