ウィンドウズマックソフトウェア設定セキュリティ生産性リナックスAndroidパフォーマンス設定Apple すべて

Linux上でDockerをインストールして使用する方法

編集済み 3 数日前 によって ExtremeHow 編集チーム

ドッカーコンテナ仮想化アプリケーションデプロイメントデブオプスマイクロサービスオーケストレーションシステム管理インストール管理

Linux上でDockerをインストールして使用する方法

翻訳が更新されました 3 数日前

Dockerは、開発者がコンテナ内でアプリケーションを簡単に構築、実行、および管理できるプラットフォームです。コンテナは軽量でスタンドアロンの実行環境であり、オペレーティングシステム(OS)を共有しつつも隔離を維持します。Dockerはワークフローを合理化し、デプロイとスケーリングを容易にするため、非常に人気があります。

このガイドでは、Linuxシステム上でDockerをインストールして使用する方法を学びます。この記事では、インストール手順、基本コマンド、およびLinux上でのDockerの便利な使用例を紹介します。

なぜDockerを使用するのか?

インストールプロセスに入る前に、Dockerが優れたツールである理由を見てみましょう:

前提条件

Dockerのインストールを始める前に、以下のものが必要です:

LinuxでDockerをインストールする方法

1. システムを更新

最初のステップは、システムが最新であることを確認することです。次のコマンドを使用してパッケージリストを更新し、利用可能なアップデートをインストールします:

sudo apt update
sudo apt upgrade

これにより、既存のすべてのパッケージがDockerのインストールと互換性のある最新の状態になります。

2. 必要なパッケージをインストール

Dockerは正常に動作するためにいくつかのパッケージを必要とします。これらのコマンドを実行してこれらのパッケージをインストールします:

sudo apt install apt-transport-https ca-certificates curl software-properties-common

説明: これらのパッケージは、DockerがHTTPSを使用してリポジトリにアクセスし、証明書を管理し、新しいリポジトリを追加するのを支援します。

3. Dockerリポジトリを追加

次のステップは、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リポジトリを追加します。

4. Dockerをインストール

次に、Dockerリポジトリを含めてパッケージリストを再更新し、Dockerをインストールします:

sudo apt update
sudo apt install docker-ce

説明: ここでのdocker-ceは「Docker Community Edition」を意味します。これは、Linuxディストリビューションに適した無料のオープンソースバージョンです。

5. Dockerを起動して有効にする

インストールが完了したら、Dockerサービスを起動し、起動時に自動的に開始するように設定します:

sudo systemctl start docker
sudo systemctl enable docker

これにより、Dockerデーモンがアクティブになり、システムが再起動するたびに自動的に開始されるようになります。

6. インストールの確認

Dockerが正しくインストールされ、実行されているか確認するには、次のコマンドを実行します:

sudo docker --version

システムにインストールされているDockerバージョンを表示する出力が表示されます。

Dockerの使用

基本的なDockerコマンド

最初のコンテナを実行

Dockerを使用してNginxウェブサーバーを実行するには:

sudo docker run --name my-nginx -p 8080:80 -d nginx

説明: このコマンドは以下のタスクを実行します:

ブラウザで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 Hub(Dockerイメージのリポジトリ)からDockerイメージをダウンロードするには:

sudo docker pull ubuntu

説明: このコマンドは、Docker Hubから公式のUbuntuイメージをプルし、それを使用してコンテナを構築できます。

Dockerイメージを削除

システムから使用されていないDockerイメージを削除したい場合は:

sudo docker rmi ubuntu

このコマンドは指定されたDockerイメージを削除します。

開発とデプロイにDockerを使用する方法

Dockerはソフトウェアの開発およびデプロイにおいて多くの機能を提供します。いくつかの例を以下に示します:

1. 開発環境

開発者は、Dockerを使用して本番環境に一致するカスタマイズ可能な開発環境を作成できます。これにより、すべての開発者およびシステムで一貫性が確保され、「自分のマシンでは動く」という一般的な問題が防止されます。以下はその例です:

FROM node:14
WORKDIR /app
COPY . .
RUN npm install
CMD ["node", "index.js"]

このDockerfileの例では、Node.jsアプリケーションコンテナを作成できます。使用するベースイメージ(node:14)を指定し、作業ディレクトリを設定し、ローカルファイルをコンテナにコピーし、必要なパッケージをインストールし、Node.jsアプリケーションを実行します。

2. マイクロサービス

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にマッピングします。

3. 継続的インテグレーション(CI)/継続的デプロイメント(CD)パイプライン

DockerはCI/CDパイプラインでよく使用され、テストソフトウェアのためにオンデマンドでコンテナを作成することにより、テストプロセスとデプロイメントプロセスを自動化します。これにより、開発者はより信頼性が高く迅速なテストサイクルを体験できます。

4. アプリケーションデプロイを簡素化

Dockerは、アプリケーション自体およびその依存関係をコンテナ内に保つことで、開発者とシステム管理者がアプリケーションをスムーズにデプロイするのを支援します。これにより、追加の設定なしで異なる場所で同じ環境を簡単に複製できるため、迅速なウェブアプリケーションのデプロイやデータ分析パイプラインの構築などに便利です。

結論

このガイドは、LinuxシステムにDockerをインストールし使用する詳細な情報を提供します。強力で柔軟なコンテナ技術として、Dockerはアプリケーションの開発、デプロイ、および管理に多くの利点があります。含まれているコマンドと例は、Dockerを効率的に使用するための基礎を提供します。

Dockerは仮想環境における最も影響力のあるツールの1つであり、現代のDevOpsの実践やクラウドコンピューティングのインフラストラクチャで重要な役割を果たしています。Dockerの採用は、その移植性、軽量性、そしてソフトウェア開発と本番環境のさまざまな段階での一貫性のある性質により、着実に増加しています。

記事の内容に誤りがある場合, あなたは


コメント