Successfully reported this slideshow.
Your SlideShare is downloading. ×

Docker入門

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Upcoming SlideShare
Windowsコンテナ入門
Windowsコンテナ入門
Loading in …3
×

Check these out next

1 of 15 Ad

More Related Content

Similar to Docker入門 (20)

More from iPride Co., Ltd. (20)

Advertisement

Recently uploaded (20)

Docker入門

  1. 1. Docker入門 発表者K.H
  2. 2. Dockerとは 仮想化技術の1つ 他の仮想化技術としてVM等があるが、VMとの違いを次スライドで説明する。
  3. 3. コンテナと仮想マシンの違い ハードウェア ホストOS (カーネル) 仮想化ソフト ゲストOS (カーネル) ゲストOS (カーネル) アプリ アプリ カーネルを共有しているかどうかの違いのみ 仮想マシン ハードウェア ホストOS (カーネル) コンテナ管理ソフト コンテナ コンテナ アプリ アプリ コンテナ ホストマシン ホストマシン
  4. 4. カーネルとは OSのコアとなるもの • 仮想マシンでは1台につき1つのカーネルが存在しているため起動に時間がかかる • 仮想マシンでは完全に環境を分離することができるというメリットも有る • コンテナではホストOSのカーネルを共有しているため起動が早い コンテナとは ・プロセスの一つ ただし、メモリ・CPUなどは仮想的に分離されているためアクセスできない
  5. 5. dockerで解決できること • 再現性の確保 • 同じ環境を再現しやすい • 同じ環境を他の人に移すことができる • Aでは動くのにBでは動かないということがなくなる • 構成のコード化(Infrastructure as Code) • 環境構築の手順を自動化できる
  6. 6. dockerを試してみる dockerを試すにはイメージが必要となり今回はdocker hub(https://hub.docker.com/)から入手する 。 今回使用するのは以下のnginxのイメージ
  7. 7. dockerを試してみる コンテナイメージをDLする # docker container run -d nginx:1.22.1-alpine $docker image pull nginx:1.22.1-alpine 「nginx:」以降の赤字はタグと呼ばれているものでありバージョン等が使用される。使用できる タグはDocker hubの公式サイトに記載されている。 使用できるタグはdocker hubの説明を参照
  8. 8. dockerを試してみる ローカルに持ってきたnginxのイメージを使用してコンテナを起動する。 # docker container run -d nginx:1.22.1-alpine $docker container run -d nginx:1.22.1-alpine 430a8f685612c7d6cab5452f9a1c89e07ef501c2eceab6424bea6e5824ef1ef6 イメージがローカルに存在しない場合はDocker hubからダウンロードするため時間がかかる。 -d オプションをつけることでバックグランドで起動することができる。 使用できるタグはdocker hubの説明を参照 起動しているコンテナを確認する $docker container ls CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 430a8f685612 nginx:1.22.1-alpine "/docker-entrypoint.…" 9 minutes ago Up 9 minutes 80/tcp inspiring_yonath
  9. 9. dockerを試してみる 起動したコンテナを停止する # docker container run -d nginx:1.22.1-alpine $docker container stop {container id} container idを指定して対象のコンテナを停止する。 container idは「$docker container ls」で確認することができる。 コンテナを削除する # docker container run -d nginx:1.22.1-alpine $docker container rm {container id} # docker container run -d nginx:1.22.1-alpine $docker container prune 上記どちらかのコマンドでコンテナを削除することができる。 rmコマンドでは指定したcontainer idのコンテナのみを削除する。 pruneコマンドでは使用していないイメージを削除することができる。
  10. 10. コマンドの短縮 本スライドで紹介したコマンドは以下のように省略することができる。 スライドで紹介したコマンド 省略形 docker image pull docker pull docker container run docker run docker container ls docker ps docker container rm docker rm
  11. 11. Dockerイメージの作成 DockerイメージはDocker hubから入手する以外にも自分で作成することが可能である。 ここではDockerイメージ作成の流れは以下になる 1. Dockerfileの作成 2. 1を使用してビルド実行
  12. 12. Dockerfileの作成 以下のようなファイルを用意する #元となるイメージを指定 FROM centos:7 #ホストからイメージにファイルを転送する COPY docker-entrypoint.sh /var/tmp #イメージ内でコマンドを実行 #RUNコマンドを複数記載すると重くなるためできるだけまとめて記載する RUN mv /var/tmp/docker-entrypoint.sh /usr/local/bin; chmod +x /usr/local/bin/docker-entrypoint.sh; #初期化処理などのコマンド ENTRYPOINT [ "docker-entrypoint.sh" ] #メインとなるコマンド CMD [ "echo","Hello World!!" ] Dockerfile
  13. 13. Dockerfileの作成 以下のようなファイルを用意する #! /bin/bash #環境変数を表示 env #DockerfileのCMDで引数で渡されたものを無条件で実行する exec "$@" docker-entrypoint.sh
  14. 14. ビルド 指定したDockerfileを使用してDockerイメージを作成する $docker build {option} PATH 引数は以下の通り • PATH • Dockerfileが保存されているパスを指定する。 • option • 指定しなくてもビルド可能である • よく使われるオプションは以下 -t イメージ名を指定 指定しない場合は以下の様になるためほぼ必須 $docker images REPOSITORY TAG IMAGE ID <none> <none> 5fb7f4b1c423 -f Dockerfileの名前を指定
  15. 15. Docker run 作成したイメージを実行する $ docker run test HOSTNAME=bc551d715b4e PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin PWD=/ SHLVL=1 HOME=/root _=/usr/bin/env Hello World!!

×