0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

DockerについてからVSCodeへの導入まで

Last updated at Posted at 2024-10-14

今回はDockerについてからVSCodeへの導入までを記事にしました。

Dockerの仕組み
通常、アプリケーションを動かすためには、サーバーに様々な設定を行い、環境を整える必要があります。たとえば、特定のバージョンのプログラミング言語やライブラリが必要だったり、サーバーごとに設定が異なるためにトラブルが発生したりします。しかし、Dockerを使えば、そのような環境を「コンテナ」に閉じ込め、どこでも同じ環境でアプリケーションを動かすことが可能です。

Dockerは、次のような仕組みで動作します:

Dockerイメージ:アプリケーションとその環境をまとめた「設計図」のようなもの。イメージは何度でも使い回すことができ、1度作成すればどのサーバー上でも同じ動作環境が再現されます。
Dockerコンテナ:イメージを基に実際に動作する仮想環境。コンテナはアプリケーションの実行環境を隔離して動かし、軽量で高速です。
Dockerエンジン:コンテナを管理・実行するエンジン。Dockerエンジンがコンテナを動かすための基盤となります。
Dockerの利点

1. 環境の一貫性

Dockerを使うと、開発環境と本番環境で同じ設定や依存関係を持つことができます。これにより、「開発環境では動くけど、本番環境では動かない」といった問題が解消されます。

2. 軽量で高速

従来の仮想マシン(VM)と比べて、DockerコンテナはOSのカーネルを共有するため、非常に軽量で起動も高速です。VMは完全なオペレーティングシステム全体を仮想化するのに対し、Dockerはアプリケーションの実行に必要な最小限の部分だけを仮想化します。

3. スケーラビリティ

Dockerを使えば、複数のコンテナを簡単に起動・停止・再起動でき、必要なリソースに応じてアプリケーションを柔軟にスケールさせることが可能です。

4. クラウドとの相性の良さ

Dockerはクラウド環境とも非常に相性が良く、AWSやGCP、AzureなどのクラウドサービスでもDockerを簡単に利用できます。これにより、コンテナ化したアプリケーションをクラウド上で簡単に展開することができます。

Dockerの主なコマンド
Dockerにはさまざまなコマンドがありますが、ここでは基本的なものを紹介します。

docker pull [イメージ名]

DockerHubからイメージをダウンロードします。

例: docker pull nginx
docker build [オプション] [Dockerfileの場所]

Dockerイメージを作成します。Dockerfileを基に、指定された環境をコンテナ化します。
例: docker build -t myapp .
docker run [オプション] [イメージ名]

Dockerコンテナを起動します。バックグラウンドで起動させる場合は-dオプションを使います。

例: docker run -d -p 8080:80 nginx
docker ps

現在実行中のコンテナを一覧表示します。

例: docker ps
docker stop [コンテナID]
指定したコンテナを停止します。
例: docker stop abc123
docker rm [コンテナID]
停止したコンテナを削除します。
例: docker rm abc123

Dockerの利用例
例えば、ウェブ開発者がNode.jsアプリケーションを開発しているとします。開発チームの全員が同じ環境で動作させたい場合、Dockerを使って次のような手順を踏むことができます:

Node.jsの環境を含んだDockerイメージを作成。
チームメンバー全員がそのイメージをdocker pullで取得。
どこでも同じコンテナでアプリケーションを実行できるため、動作環境の不一致が解消。

まとめ

Dockerは、アプリケーションを簡単に移動・管理できるようにする革新的なツールです。開発者にとっては、環境の一貫性を保ち、効率的にスケーラブルなアプリケーションを構築できる手段となります。仮想マシンよりも軽量で高速、そしてクラウド環境にも適しているため、現代のアプリケーション開発には欠かせない存在です。

Dockerを使いこなすことで、より柔軟で効率的な開発体験を手に入れられます。まずは基本的なコマンドから学び、実際にコンテナを作成して試してみてください。

VSCodeでDockerを使う手順
Dockerのインストール

まずは、DockerがPCにインストールされていることを確認します。まだインストールしていない場合は、公式サイト(Docker公式サイト)からダウンロードしてインストールします。
インストール後、ターミナルでdocker --versionを実行し、正しくインストールされたことを確認します。
Docker拡張機能のインストール

VSCodeの拡張機能マーケットプレイスから「Docker」拡張機能をインストールします。この拡張機能は、Dockerの操作をVSCode内で簡単に行えるようにするものです。
インストール手順:
VSCodeのサイドバーにある拡張機能アイコンをクリック。
検索バーに「Docker」と入力して、Microsoftが提供している公式拡張機能をインストール。
VSCodeでDockerを操作

拡張機能をインストールすると、VSCodeのサイドバーにDockerのアイコンが追加されます。これを使って以下の操作を簡単に行うことができます:
コンテナの作成・起動・停止: コンテナの一覧表示や、コンテナの作成、実行、停止が可能です。
Dockerイメージの管理: イメージの一覧表示、イメージの作成・削除が簡単に行えます。
Docker Compose: 複数のコンテナを一括で起動できるdocker-composeも、VSCodeから操作が可能です。
Dockerファイルの作成補助: Dockerfileを作成するときに、自動補完機能が使え、効率的に記述できます。
Dockerファイルの作成

VSCodeでは、Dockerfileを簡単に作成できます。Dockerfileを新規作成し、アプリケーションのビルド環境を記述します。VSCodeの拡張機能が自動補完を提供してくれるため、スムーズに作業が進められます。
例: Node.jsアプリケーションのDockerfile
dockerfile

ベースイメージを指定

FROM node:14

作業ディレクトリを指定

WORKDIR /usr/src/app

パッケージのインストール

COPY package*.json ./
RUN npm install

アプリケーションファイルをコピー

COPY . .

ポートを開放

EXPOSE 8080

アプリケーションを実行

CMD ["node", "app.js"]

ターミナルからDockerコマンド実行

VSCodeには統合ターミナルがあるため、直接VSCode内でdockerコマンドを実行することもできます。
例: コンテナを起動する

docker run -d -p 8080:80 myapp

Docker拡張機能の主な機能
コンテナの管理: コンテナの開始、停止、削除、ログの確認などがGUIで簡単に行えます。
イメージの管理: ローカルやリモートにあるDockerイメージをGUIで操作できます。
Docker Compose: 複数のコンテナを一括で管理できるdocker-compose.ymlファイルを使った操作が可能です。
Dockerfileのビルド: Dockerfileの作成やビルドプロセスもサポートしています。

基本毎日更新していますので、@y-t0910をフォローしていただけると嬉しいです。

0
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?