Last updates for QCON

This commit is contained in:
Jerome Petazzoni
2016-03-11 00:29:58 -08:00
parent 1174845c52
commit 88e558bd08
2 changed files with 73 additions and 36 deletions

View File

@@ -50,7 +50,7 @@ function refresh () {
points.push({ x: s2.now, y: speed });
}
$("#speed").text("~" + speed.toFixed(1) + " hashes/second");
var msg = ("I'm attending the @docker Swarm workshop at @qconlondon, "
var msg = ("It's #SwarmWeek! I'm attending the @docker workshop at @qconlondon, "
+ "and my #DockerCoins mining rig is crunching "
+ speed.toFixed(1) + " hashes/second! W00T!");
$("#tweet").attr(

View File

@@ -295,7 +295,7 @@ If you want to use screen or whatever, you're welcome!
## Brand new versions!
- Engine 1.10.2
- Engine 1.10.**3**
- Compose 1.6.2
@@ -1242,7 +1242,7 @@ faster for a well-behaved application.*
- `redis` must resolve to the address of our Redis service
- the Redis service must listen on the default port (6379)
---
???
## Using host name injection to abstract service dependencies
@@ -1267,7 +1267,7 @@ faster for a well-behaved application.*
<br/>with a private view where `redis` resolves to `192.168.1.2`
(Before Engine 1.10, it created entries in `/etc/hosts`)
---
???
## The plan
@@ -1289,7 +1289,7 @@ faster for a well-behaved application.*
Note: the code stays on the first node!
<br/>(We do not need to copy the code to the other nodes.)
---
???
## Making Redis available on its default port
@@ -1311,7 +1311,7 @@ There are two strategies.
Choose wisely!
---
???
## Deploy Redis
@@ -1337,7 +1337,7 @@ Choose wisely!
The `ERR` messages are normal: Redis speaks Redis, not HTTP.
---
???
## Update `docker-compose.yml` (1/3)
@@ -1352,7 +1352,7 @@ The `ERR` messages are normal: Redis speaks Redis, not HTTP.
]
---
???
## Update `docker-compose.yml` (2/3)
@@ -1377,7 +1377,7 @@ Replace `A.B.C.D` with the IP address noted earlier.
Shortcut: `docker-compose.yml-extra-hosts`
<br/>(But you still have to replace `A.B.C.D`!)
---
???
## Update `docker-compose.yml` (3/3)
@@ -1400,7 +1400,7 @@ Shortcut: `docker-compose.yml-extra-hosts`
(Replace `A.B.C.D` with the IP address noted earlier)
---
???
## Start the stack on the first machine
@@ -1416,7 +1416,7 @@ Shortcut: `docker-compose.yml-extra-hosts`
- Check in the web browser that it's running correctly
---
???
## Start the stack on another machine
@@ -1439,7 +1439,7 @@ Shortcut: `docker-compose.yml-extra-hosts`
]
---
???
## Scale!
@@ -1459,7 +1459,7 @@ Shortcut: `docker-compose.yml-extra-hosts`
Note: of course, if we wanted, we could run on all five nodes.
---
???
## Cleanup
@@ -1481,6 +1481,25 @@ Note: of course, if we wanted, we could run on all five nodes.
---
# Using custom DNS mapping
- We could setup a Redis server on its default port
- And add a DNS entry mapping `redis` to this server
.exercise[
- See what happens if we run:
```
docker run --add-host redis:1.2.3.4 alpine ping redis
```
]
There is a Compose file option for that: `extra_hosts`.
---
# Abstracting remote services with ambassadors
- What if we can't/won't run Redis on its default port?
@@ -1540,9 +1559,9 @@ class: pic
.exercise[
<!-- Following line to be commented out if we skip extra_hosts section -->
<!--
- Restore `links` as they were before in `webui` and `worker`
-->
<!-- -->
- Replace `redis` with an ambassador using `jpetazzo/hamba`:
@@ -1558,27 +1577,6 @@ class: pic
Shortcut: `docker-compose.yml-ambassador`
<br/>(But you still have to update `AA.BB.CC.DD EEEE`!)
???
## Why did we comment out the `volumes` section?
- Volumes have multiple uses:
- storing persistent stuff (database files...)
- sharing files between containers (logs, configuration...)
- sharing files between host and containers (source...)
- The `volumes` directive expands to an host path
<br/>.small[(e.g. `/home/docker/orchestration-workshop/dockercoins/webui/files`)]
- This host path exists on the local machine
<br/>(not on the others)
- This specific volume is used in development
<br/>(not in production)
---
## Start the stack on the first machine
@@ -1675,6 +1673,45 @@ Let's celebrate our success!
---
## A few words about development volumes
- Try to access the web UI on another node
--
- It doesn't work! Why?
--
- Static assets are masked by an empty volume
--
- We need to comment out the `volumes` section
---
## Why must we comment out the `volumes` section?
- Volumes have multiple uses:
- storing persistent stuff (database files...)
- sharing files between containers (logs, configuration...)
- sharing files between host and containers (source...)
- The `volumes` directive expands to an host path
<br/>.small[(e.g. `/home/docker/orchestration-workshop/dockercoins/webui/files`)]
- This host path exists on the local machine
<br/>(not on the others)
- This specific volume is used in development
<br/>(not in production)
---
## Stop the app (but leave Redis running)
- Let's use `docker-compose down`