こんにちはサイト管理者のまつみんです。
今回はDockerコンテナの導入編(インストール)を解説したいと思います。
弊社のクラウドサービスの運用とアプリケーションの開発で毎日お世話になっているコンテナ技術なのですが、仮想化技術(Hypervisor)がそうであったようにコンテナ技術(k8s)も身近な存在になると思うので、参考になればと思います。
今日はまずはローカルにDocker環境をインストールしてみる。という手順の解説を行います。筆者の開発環境はMacOSを使っていますので、Linux/Windows環境向けは参考程度になりますが、記載するコマンドは同じです。
1. Docker Desktopのダウンロード(Stable)をダウンロードします。
2. ダウンロードした(.dmg)を展開します。
3. ApplicationsからDockerを起動します。
以下のようなクジラのDockerアイコンが表示されたら完了です。
4. Terminalを起動してDockerコマンドを実行してみましょう。
見てのとおりインストール直後なのでなにもありません。
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
$
5. それでは、超軽量LinuxのAlpine Linuxのイメージをインポートしてみましょう。
今回はDocker HUBにある公開レポジトリから開発環境(Alpine)をpullしてみます。
$ docker pull alpine
df20fa9351a1: Pull complete
Digest:sha256:185518070891758909c9f93ee977ac378609f700f6
Status: Downloaded newer image for alpine:latest
docker.io/library/alpine:latest
$
6. イメージがインポートされたか確認します。
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
alpine latest a24bb5013297 2 months ago 5.57MB
$
7. ではAlpineイメージからコンテナを作成してみましょう。
上記でpullしてきたAlpineイメージは(.iso)ファイルのようなものだと思ってください。
$ docker run -it alpine
/ # ps -ef
PID USER TIME COMMAND
1 root 0:00 /bin/sh
8 root 0:00 ps -ef
$
わずか1秒でコンテナが作成されます。/bin/shが起動していることが確認できます。
8. コンテナが展開・起動しているか確認しましょう。
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b57ccw56b435 alpine "/bin/sh" 6 minutes ago Up 6 minutes bobcat
$
CONTAINER ID はユニークな識別子でImageからの展開後、削除をするまではDocker環境に残ります。開発や検証をおこなったら、削除したり、さらにそのコンテナをImageに変換したりすることが可能です。つまりポータビリティがDockerの最大の特徴です。
9. コンテナへのログイン
$ docker attach b57ccw56b435
/# shellに移行します
/#
10. コンテナの起動・停止・削除
$ docker start b57ccw56b435 (起動)
b57ccw56b435
$ docker stop b57ccw56b435 (停止)
b57ccw56b435
$ docker rm b57ccw56b435 (削除)
b57ccw56b435
$
開発中のアプリケーションでサブシステムが複数ある場合は、それぞれの環境を手元のコンテナで起動して開発・動作確認が素早くできるという感じです。GITやDocker file, YML, CI/CDを組み合わせた使い方もそのうちブログで取り上げたいと思いますが、まずは基本的なコマンド・操作を中心に解説したいとおもいます。
まとめ
IIJ America Incでは、お客様のシステム運用のお手伝いをいたします。クラウド導入やシステム更新・移行プロジェクトなどのご相談も承っております。無料相談のご予約は Sales@iij-america.com またはこちらのWebフォームまでお問い合わせください。
Commenti