1. The document discusses RESTful APIs and gRPC, comparing their characteristics and use cases.
2. RESTful APIs typically use HTTP and JSON to access resources via URLs while gRPC uses protocol buffers and HTTP/2 for efficient streaming and RPC.
3. gRPC is better suited for microservices and mobile apps due to its ability to handle streaming and performance, while REST is more widely used due to its simplicity and support in most languages.
"Yahoo! JAPAN の Kubernetes-as-a-Service" で加速するアプリケーション開発Yahoo!デベロッパーネットワーク
This document discusses automating Kubernetes deployments using Kubernetes-as-a-Service. It defines a CustomResourceDefinition for Kubernetes clusters that includes specifications for the Kubernetes version, number of master and worker nodes, and hardware flavors. It also includes an example KubernetesCluster resource definition.
1. The document discusses RESTful APIs and gRPC, comparing their characteristics and use cases.
2. RESTful APIs typically use HTTP and JSON to access resources via URLs while gRPC uses protocol buffers and HTTP/2 for efficient streaming and RPC.
3. gRPC is better suited for microservices and mobile apps due to its ability to handle streaming and performance, while REST is more widely used due to its simplicity and support in most languages.
"Yahoo! JAPAN の Kubernetes-as-a-Service" で加速するアプリケーション開発Yahoo!デベロッパーネットワーク
This document discusses automating Kubernetes deployments using Kubernetes-as-a-Service. It defines a CustomResourceDefinition for Kubernetes clusters that includes specifications for the Kubernetes version, number of master and worker nodes, and hardware flavors. It also includes an example KubernetesCluster resource definition.
この資料では、Docker for Windows を使って Windows OS 上で Linux ベースのアプリを開発する方法、そして Web アプリを含む Docker コンテナをクラウド環境(Azure 環境)に展開する方法について解説します。
※ 本資料では Docker の Linux コンテナのみを取り扱います。(Windows コンテナは取り扱いません。Windows OS で使い慣れたエディタや開発環境を使いつつ、Docker for Windows を活用して Linux 上でデバッグを行う、というシナリオを扱っています。)
※ 資料の概要は以下の blog エントリを参照してください。
https://blogs.msdn.microsoft.com/nakama/2018/09/27/dockerandazure/
1. Docker ライフサイクルの基礎
地雷を踏み抜けろ!
FUKUOKA DevOps 勉強会 #2 Docker を使った CI/CD
2016年4月7日(木)
@zembutsu
Technology Evangelist; Creationline, Inc.
What is Docker Images and Containers, and Container's life cycle.
背景画像CREDIT:スフィア / PIXTA(ピクスタ)
19. docker クライアント docker エンジン
$ docker run hello-world
run
あとはアセンブラで書かれたhelloプログ
ラムのバイナリを、コンテナ用の独立した
プロセスとして実行します。
Docker Hub
pull
レジストリ
latest
イメージ
タグ
hello-world レポジトリ
• Docker Engine は「docker
run」実行時にローカルにイ
メージがなければレジストリ
(DockerHubが標準)から
イメージをダウンロードする。
そのため初回実行時は時間
かかる場合がある。
latest
イメージ
タグ
latest
コンテナ化した
hello-worldの実行
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/userguide/
hello-worldコンテナは画面出力が
終わると、プロセスが終了(コンテ
ナは停止状態)になる。
20. $ docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
03f4658f8b78: Pull complete
a3ed95caeb02: Pull complete
Digest: sha256:8be990ef2aeb16dbcb9271ddfe2610fa6658d13f6dfb8bc72074cc1ca36966a7
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.
(省略)
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/userguide/
ローカルにhello-worldイメージがない
公式イメージlibraryにある”hello-world”を取得
最新の”hello-world:latest”イメージを取得完了
hello-worldイメージを使ったコンテナの実行(run)を命令
48. 48
‣ 改めて docker images で docker-whale のイメージ ID を確認します。
‣ イメージ(ID)には、複数のイメージ名やタグを付けられます。docker
tag コマンドを使い、docker-whale イメージに Docker Hub 上のユーザ
名を割り当てます。
– 例
練習10. イメージのタグ付け
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker-whale latest 2869f3029cd4 About a minute ago 274.9 MB
$ docker tag イメージID ユーザ名/docker-whale:latest
49. 49
‣ docker login コマンドを実行し、コンソール上から Docker Hub にログ
インします。
• 認証情報(アクセス用トークン)は ~/.docker/config.json に保管されます。
練習11. Dockr Hub にログイン
$ docker login
Login with your Docker ID to push and pull images from Docker
Hub. If you don't have a Docker ID, head over to
https://hub.docker.com to create one.
Username: zembutsu
Password:
Login Succeeded
皆さんのユーザ名を入力します
パスワードを入力します
50. 50
‣ Docker Hub 上のリポジトリに送信するには docker push コマンドを使い
ます。先ほど docker tag で「ユーザ名/docker-whale」イメージを送信
します。
‣ ブラウザからも確認します。
練習12. Docker Hub に送信
$ docker push zembutsu/docker-whale
The push refers to a repository [docker.io/zembutsu/docker-whale]
1f572a10291b: Pushed
5f70bf18a086: Mounted from docker/whalesay
d061ee1340ec: Mounted from docker/whalesay
d511ed9e12e1: Mounted from docker/whalesay
091abc5148e4: Mounted from docker/whalesay
b26122d57afa: Mounted from docker/whalesay
37ee47034d9b: Mounted from docker/whalesay
528c8710fd95: Mounted from docker/whalesay
1154ba695078: Mounted from docker/whalesay
latest: digest: sha256:b597a0451116a63e5eaaa3b3214c77042f180a31c303522db998b37e2c2ddd12 size: 8095