Wantedly(ウォンテッドリー)はたらくを面白くするビジネスSNS
Wantedlyは、運命のチームや仕事に出会えたり、人脈を広げ、ビジネスの情報収集に使えるビジネスSNSです。
https://www.wantedly.com/companies/company_3056942/post_articles/4559822
こんにちは、イチアール株式会社採用です。
近年、仮想技術が進歩しておりたくさんのシステムや技術が生まれました。
本記事では、そんな仮想記述のひとつ、Dockerについてご紹介していきます。
Dockerとは、Docker社が開発したコンテナ型仮想化という仕組みを管理するソフトウェアのことです。コンテナ型仮想化とは、ホストOSとシステムのプロセスの部分を分離させ、動作させる仕組みです。
同一のホストOSに対して、仮想的なコンテナは複数作成することができ、システムはコンテナ上で起動します。コンテナを作成することで簡単に他の環境に移動させることができます。
Dockerは、2013年にリリースされており、現在はコンテナの中でもほとんどの割合を占めるほど普及しています。最大の特徴は、WindowsやLinux、MacなどさまざまなOSで動作することです。また、Dockerには、アイコンやボタンをマウスで操作することができるGUIツールを使って管理ができるという特徴もあります。
Dockerは、1台のサーバーで複数の開発環境を構築したいときによく使用されます。従来であれば、1台のサーバーにつき、1つの開発環境しか構築することができません。
ですが、コンテナを利用することで、1台のサーバーや1つのホストOSに複数の開発環境を作成することができます。また、Dockerは、WindowsやLinux、Macなどの様々なOSで使用することができるので、別のOSで作業したり動作確認する際にも使用されます。
Dockerを使用するメリットは、仮想環境の気道の速さと環境の作成や変更の容易さです。従来の仮想化では、仮想マシンを物理サーバー上に作成し、ゲスト用のOS上でアプリが起動します。複数のアプリを起動させるためにアプリの数と同じだけのゲストOSを作成・起動する必要があります。
対して、Dockerは、ホストOS上のコンテナ(Dockerエンジン)でアプリを起動します。コンテナ上で複数のアプリを起動させることができます。そのため、従来よりもアプリを起動するまでの時間を短縮することができます。
また、DockerはWindowsやLinux、Macなど複数のOSで起動させることができます。複数のOSに対応しているので、システムの起動や環境作成も簡単ですし、他のエンジニアと簡単に共有することもできます。このようなメリットから、Dockerは、複数のOSでのアプリケーションの動作確認やバージョン管理システムなどを利用するのに向いています。
Linuxコンテナとは、Linux環境のみで稼働するコンテナです。WindowsOSやiOSでは稼働しません。
Linuxコンテナは、旧バージョンのDockerのコンテナエンジンとして使用されていました。Dockerの現在のバージョンでは、Linuxコンテナがなくとも稼働させることができます。どちらもファイルシステムの分離やアプリのプロセスを分離させることができます。Linuxコンテナと現在のバージョンのDockerとの一番の違いは、対応しているOSです。
Linuxコンテナは、Linux環境でしか稼働することができません。対して、Dockerは、Linux以外にもWindows、Macなどの複数のOSで稼働させることができます。
Dockerで使用されるプログラミング言語は「Go言語」です。Go言語は、2009年にGoogleにより設計された言語です。
公式サイトでは「オープンソースのプログラミング言語で、シンプルで信頼性が高く、効率的なソフトウェアを簡単に構築できる。」とされており、YouTubeやメルカリなどのWebサービスの開発に使用されています。また、C言語の伝統に則ったコンパイル言語のため、文法がC言語と似ているところもたくさんあり、C言語と同様に処理速度が早いです。C言語よりもコードがシンプルになっていて、コードを簡潔に記述することができます。
汎用性が高く使いこなすと効率化や品質向上が可能なDockerですが、その需要は徐々に増えつつあります。
イチアールは、未経験からエンジニアの一歩を踏み出す人をサポートする会社です。
ぜひ、未経験から一緒にエンジニアを目指しませんか。
ご興味がある方は、ぜひ気軽にお話を聞きに来てください!