からくりブログ

株式会社からくり社員のブログです

Dockerを使ってみる。

だいぶ前からDockerというワードをよく耳にするのですが触ったことがなかったので…
今回ブログ投稿を機にDockerを勉強していきたいと思います。 今回はとりあえずインストールしてちょいと動かしてみるところまで。
実行環境は以下の通りです。
OS Windows10 Pro
CPU Intel(R)Core(TM)i5-4300U CPU
さて、まずはWindows用のDocker desktopとやらをダウンロードしてインストール。
https://docs.docker.com/docker-for-windows/install/
上記のURLに書かれていることを一通り実行してDockerDesktopを起動。
アプリをセットアップするときに、公式のページだけではいつも何かしら突っかかる私ですらスムーズに進むようなわかりやすい記載でした…(#・・#)v

ダウンロードにはDocker Hubのアカウントが必要みたいです。
あとは、WindowsのHyper-Vを有効にするのをお忘れなく…!
DockerDesktopを起動したら次はチュートリアルをやってみます。
とりあえずこちらのpart1から。
https://docs.docker.com/get-started/
まずはDockerDesktopでKubernetesを有効にして、Powershellからコマンドを叩きます。
1.設定ファイルを用意してpodを作成
 > vim pod.yaml 
-----
apiVersion: v1  
kind: Pod  
metadata:  
  name: demo  
spec:  
  containers:  
    - name: testpod  
      image: alpine:3.5  
      command: ["ping", "8.8.8.8"]  
 > kubectl apply -f .\pod.yaml
pod/demo created 
2.podの起動と動作の確認
 > kubectl get pods
NAME   READY   STATUS    RESTARTS   AGE
demo   1/1     Running   0          9m35s 
3.pingのログ確認
 > kubectl logs demo
PING 8.8.8.8 (8.8.8.8): 56 data bytes
64 bytes from 8.8.8.8: seq=0 ttl=37 time=71.175 ms
64 bytes from 8.8.8.8: seq=1 ttl=37 time=70.522 ms
64 bytes from 8.8.8.8: seq=2 ttl=37 time=60.695 ms
...
4.podの削除
 > kubectl delete -f pod.yaml 
pod "demo" deleted 
次にSwarmを有効にして、 Powershellからコマンドを叩きます。
1.Swarmの初期化
 >docker swarm init
Swarm initialized: current node (zk8kzk2glo21o23pmywa9ci8i) is now a manager.

To add a worker to this swarm, run the following command:

    docker swarm join --token SWMTKN-1-4pulvk62q2o04y8rbfbd5w4qy9ofeocxzj86crkqku938191ih-av7goh1oau2os5oeir6drasxx 192.168.65.3:2377

To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions. 
2. ping 8.8.8.8の機能を持った alpine サービスを起動
 > docker service create --name demo alpine:3.5 ping 8.8.8.8
nzk0b6zndv5g27thn6eqcc6km
overall progress: 1 out of 1 tasks
1/1: running
verify: Service converged 
3.作成したサービスを確認
 > docker service ps demo
ID                  NAME                IMAGE               NODE                DESIRED STATE       CURRENT STATE            ERROR               PORTS
k96285vtolm7        demo.1              alpine:3.5          docker-desktop      Running             Running 30 minutes ago 
4. pingのログ確認
 > docker service logs demo  
demo.1.k96285vtolm7@docker-desktop    | PING 8.8.8.8 (8.8.8.8): 56 data bytes  
demo.1.k96285vtolm7@docker-desktop    | 64 bytes from 8.8.8.8: seq=0 ttl=37 time=59.106 ms  
demo.1.k96285vtolm7@docker-desktop    | 64 bytes from 8.8.8.8: seq=1 ttl=37 time=59.954 ms  
demo.1.k96285vtolm7@docker-desktop    | 64 bytes from 8.8.8.8: seq=2 ttl=37 time=58.873 ms  
... 
5.サービスを削除
 > docker service rm demo
demo 
これでpart1が完了です。
う~ん…正直まだ何が何だかよくわからないですが。
それは後々part3やらpart4でわかってきそうです。

今回はここで一旦おしまい。
次はpart2からやっていきたいと思います。

最後まで読んでくださってありがとうございました。(#・・#)ノ” thx

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>