とことんDevOps | 日本仮想化技術のDevOps技術情報メディア

DevOpsに関連する技術情報を幅広く提供していきます。

日本仮想化技術がお届けする「とことんDevOps」では、DevOpsに関する技術情報や、日々のDevOps業務の中での検証結果、TipsなどDevOpsのお役立ち情報をお届けします。
主なテーマ: DevOps、CI/CD、コンテナ開発、IaCなど

開催予定の勉強会

読者登録と各種SNSのフォローもよろしくお願いいたします。

Docker Desktopでコンテナを動かしてみよう

CI/CDやDevOps、アジャイルな開発などを実践する際に、技術面ではコンテナを活用することが多くなってきました。一方で、なかなかコンテナを扱う機会が無い、という人も多いように思います。そんな方には、まずはコンテナを動かしてみよう、ということでDocker Desktopをお勧めしています。

これまで、何度かセミナーなどでDocker Desktopを紹介してきています。動画で見たい、資料が見たい、という方は以下のリンクからご覧ください。このエントリーでは、セミナーや資料の補足を書いておこうと思いますので、併せてお読みください。

 

youtu.be

www.slideshare.net

結局コンテナとは何なのか

コンテナは、技術的に見れば単なるプロセスです。ただし、通常のプロセスは1つのカーネル上で並列して動作し、ファイルシステムなどをプロセス間で共有します。一方コンテナは、それぞれのコンテナ(≒プロセス)が隔離され、たとえばファイルシステムはコンテナ専用のファイルシステムを持ちます。そのため、各コンテナは「仮想的に」別々のシステムのように動作します。

 

コンテナが隔離されて何が嬉しいの?

コンテナのメリットはいろいろありますが、一般的にあまり言及されていない運用面について挙げておきます。

これまでのシステムでも、Webアプリケーションサーバーやデータベースサーバーなどを別々のシステムとして動かすことが多々ありました。システムの環境が共有されることで引き起こされる不具合を回避するためです。たとえば、あるアプリケーションのために行ったライブラリなどのアップデートが、その他のソフトウェアの動作に影響を及ぼし、不具合が起きることを防ぐためです。

コンテナは、それぞれのコンテナが別々の環境を構成することができるので、これまで物理マシンや仮想マシンで別々に運用していたのと同じことが各コンテナ毎で行える点が一つのメリットとして挙げられます。

 

なんでDocker Desktop?

コンテナを動かすだけであれば色々な方法がありますが、Docker Desktopは始めやすいいくつかのメリットがあります。

Windows、macOS、Linuxで動作する

コンテナ動作環境を仮想マシンとして用意するのでデスクトップ環境を汚さない

インストールするだけで動かせる

GUIのダッシュボードが状態確認やちょっとした作業に便利

 

動かす時のポイント

デフォルトでコンテナ用仮想マシンにかなりのメモリが割り当てられていますが、ちょっと動かすだけならそこまでは要りません。自分の搭載メモリ量と相談の上、適当なサイズに調整してみてください。設定はDocker Desktopのダッシュボードの設定から行えます。最低1GBの割り当てになります。

 

Kubernetesも動かせるの?

Docker Desktopのダッシュボードの設定の中にKubernetesを動かす項目があります。ここをいじるとKubernetesが動作します。しかし、GUIから何かできるわけではありません。ギリギリ、minikubeなどKubernetesをシンプルに動作させるための仕組みと同じ程度に簡単セットアップができますよ、という程度です。そこから先は良くも悪くも素のKubernetesなので、頑張ってください。もしかしたら以下の資料が参考になるかも知れません。

 

www.slideshare.net

参考情報

その他、この辺の情報も一緒に読んでみてもらえるとよいかと思います。

 

devops-blog.virtualtech.jp

devops-blog.virtualtech.jp