編集済み 3 数日前 によって ExtremeHow 編集チーム
ドッカーコンテナ仮想化アプリケーションデプロイメントデブオプスマイクロサービスオーケストレーションシステム管理インストール管理
翻訳が更新されました 3 数日前
Dockerは、開発者がコンテナ内でアプリケーションを簡単に構築、実行、および管理できるプラットフォームです。コンテナは軽量でスタンドアロンの実行環境であり、オペレーティングシステム(OS)を共有しつつも隔離を維持します。Dockerはワークフローを合理化し、デプロイとスケーリングを容易にするため、非常に人気があります。
このガイドでは、Linuxシステム上でDockerをインストールして使用する方法を学びます。この記事では、インストール手順、基本コマンド、およびLinux上でのDockerの便利な使用例を紹介します。
インストールプロセスに入る前に、Dockerが優れたツールである理由を見てみましょう:
Dockerのインストールを始める前に、以下のものが必要です:
sudo
権限を持つユーザーアカウント。最初のステップは、システムが最新であることを確認することです。次のコマンドを使用してパッケージリストを更新し、利用可能なアップデートをインストールします:
sudo apt update
sudo apt upgrade
これにより、既存のすべてのパッケージがDockerのインストールと互換性のある最新の状態になります。
Dockerは正常に動作するためにいくつかのパッケージを必要とします。これらのコマンドを実行してこれらのパッケージをインストールします:
sudo apt install apt-transport-https ca-certificates curl software-properties-common
説明: これらのパッケージは、DockerがHTTPSを使用してリポジトリにアクセスし、証明書を管理し、新しいリポジトリを追加するのを支援します。
次のステップは、DockerリポジトリをAPTソースに追加することです。このリポジトリにはDockerの最新バージョンが含まれています。
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
説明: 最初のコマンドはDockerの公式GPGキーを追加し、パッケージが正しく署名されていることを確認します。2番目のコマンドはシステムのAPTソースリストにDockerリポジトリを追加します。
次に、Dockerリポジトリを含めてパッケージリストを再更新し、Dockerをインストールします:
sudo apt update
sudo apt install docker-ce
説明: ここでのdocker-ce
は「Docker Community Edition」を意味します。これは、Linuxディストリビューションに適した無料のオープンソースバージョンです。
インストールが完了したら、Dockerサービスを起動し、起動時に自動的に開始するように設定します:
sudo systemctl start docker
sudo systemctl enable docker
これにより、Dockerデーモンがアクティブになり、システムが再起動するたびに自動的に開始されるようになります。
Dockerが正しくインストールされ、実行されているか確認するには、次のコマンドを実行します:
sudo docker --version
システムにインストールされているDockerバージョンを表示する出力が表示されます。
Dockerを使用してNginxウェブサーバーを実行するには:
sudo docker run --name my-nginx -p 8080:80 -d nginx
説明: このコマンドは以下のタスクを実行します:
run
: 新しいコンテナを起動します。--name my-nginx
: コンテナに識別しやすいように「my-nginx」という名前を割り当てます。-p 8080:80
: コンテナ内のデフォルトであるNginxポート80をホストマシンのポート8080にマッピングします。-d
: コンテナをデタッチモードで実行し、バックグラウンドで動作させます。nginx
: 使用するイメージをDockerに伝えます(ローカルに存在しない場合はDocker Hubからプルされます)。ブラウザでhttp://localhost:8080にアクセスして、実行中のNginxサーバーを確認できます。
現在実行中のDockerコンテナをすべて表示するには:
sudo docker ps
この出力にはコンテナID、名前、ステータス、およびその他の重要な情報が表示されます。
実行中のコンテナを停止したい場合は:
sudo docker stop my-nginx
停止したいコンテナの名前またはIDをmy-nginx
と置き換えてください。
停止したコンテナを削除するには:
sudo docker rm my-nginx
このコマンドは指定されたコンテナを削除します。削除する前にコンテナを終了してください。
Docker Hub(Dockerイメージのリポジトリ)からDockerイメージをダウンロードするには:
sudo docker pull ubuntu
説明: このコマンドは、Docker Hubから公式のUbuntuイメージをプルし、それを使用してコンテナを構築できます。
システムから使用されていないDockerイメージを削除したい場合は:
sudo docker rmi ubuntu
このコマンドは指定されたDockerイメージを削除します。
Dockerはソフトウェアの開発およびデプロイにおいて多くの機能を提供します。いくつかの例を以下に示します:
開発者は、Dockerを使用して本番環境に一致するカスタマイズ可能な開発環境を作成できます。これにより、すべての開発者およびシステムで一貫性が確保され、「自分のマシンでは動く」という一般的な問題が防止されます。以下はその例です:
FROM node:14
WORKDIR /app
COPY . .
RUN npm install
CMD ["node", "index.js"]
このDockerfileの例では、Node.jsアプリケーションコンテナを作成できます。使用するベースイメージ(node:14
)を指定し、作業ディレクトリを設定し、ローカルファイルをコンテナにコピーし、必要なパッケージをインストールし、Node.jsアプリケーションを実行します。
Dockerのアプリケーションを分離する機能は、各サービスが個別にコンテナ化およびデプロイされるマイクロサービスに最適です。Docker Composeを使用すると、単一のコマンドで複数の相互接続されたDockerコンテナを構成し、実行できます。
version: '3'
services:
web:
image: nginx
ports:
- "8080:80"
db:
image: postgres
このdocker-compose.yml
ファイルは、2つのサービスを定義します:web
(Nginxを実行)とdb
(PostgreSQLを実行)。Nginxサービスは、コンテナ内のポート80をホストのポート8080にマッピングします。
DockerはCI/CDパイプラインでよく使用され、テストソフトウェアのためにオンデマンドでコンテナを作成することにより、テストプロセスとデプロイメントプロセスを自動化します。これにより、開発者はより信頼性が高く迅速なテストサイクルを体験できます。
Dockerは、アプリケーション自体およびその依存関係をコンテナ内に保つことで、開発者とシステム管理者がアプリケーションをスムーズにデプロイするのを支援します。これにより、追加の設定なしで異なる場所で同じ環境を簡単に複製できるため、迅速なウェブアプリケーションのデプロイやデータ分析パイプラインの構築などに便利です。
このガイドは、LinuxシステムにDockerをインストールし使用する詳細な情報を提供します。強力で柔軟なコンテナ技術として、Dockerはアプリケーションの開発、デプロイ、および管理に多くの利点があります。含まれているコマンドと例は、Dockerを効率的に使用するための基礎を提供します。
Dockerは仮想環境における最も影響力のあるツールの1つであり、現代のDevOpsの実践やクラウドコンピューティングのインフラストラクチャで重要な役割を果たしています。Dockerの採用は、その移植性、軽量性、そしてソフトウェア開発と本番環境のさまざまな段階での一貫性のある性質により、着実に増加しています。
記事の内容に誤りがある場合, あなたは