[cjeong@plato ztmp]$ sudo docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
c04b14da8d14: Pull complete
Digest: sha256:0256e8a36e2070f7bf2d0b0763dbabdd67798512411de4cdcf9431a1feb60fd9
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker Hub account:
https://hub.docker.com
For more examples and ideas, visit:
https://docs.docker.com/engine/userguide/
There are a group of service providers. A single workflow involves a subset of service providers through some call chains.
Late binding of service provider
Let host A uses service foo of host B
Hard coding of "B" in A's code is not good
We need to make it customizable
Example: Cloud Foundry-based method
$ cf create-user-provided-service backing-fulfill -p <URL>
$ cf push -o cloudnativego/backing-catalog
# bind a service named backing-fulfill to an application named backing-catalog
$ cf bind-service backing-catalog backing-fulfill
Service discovery
Service request can be sent to a "node" or to a "broker" (how to implement service discovery)
Example service registry server: Netflix's Eureka (Java-based)