ウェブサイト検索

Ubuntu 20.04 に Docker をインストールして使用する方法


Docker は、開発者やシステム管理者がアプリケーションを構築、実行し、コンテナと共有するための最も人気のあるオープンソース プラットフォームです。コンテナ化 (アプリケーションをデプロイするためのコンテナの使用) は、コンテナが柔軟で、軽量で、移植可能で、疎結合で、スケーラブルで、より安全であるため、一般的になりつつあります。

この記事は、初心者が基本的なコマンドを使用して Ubuntu 20.04 Linux システムに Docker をインストールして使用する方法を学ぶための良い出発点となります。このガイドでは、Docker Community Edition (CE) をインストールします。

前提条件:

  • Ubuntu 20.04 サーバーのインストール。
  • sudo コマンドを実行する権限を持つユーザー。

Ubuntu 20.04 への Docker のインストール

最新バージョンの Docker を使用するには、公式の Docker リポジトリからインストールします。したがって、公式のDockerリポジトリのGPGキーをシステムに追加することから始めて、その後、リポジトリ設定をAPTソースに追加します。以下のコマンド。

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 focal stable"

次に、次のコマンドを使用して、APT パッケージ キャッシュを更新して、新しい Docker パッケージをシステムに含めます。

sudo apt update

次に、 図に示すようにDocker パッケージをインストールします。

sudo apt install docker-ce

Docker パッケージのインストール プロセス中に、パッケージ インストーラーはsystemd (システムおよびサービス マネージャー) をトリガーして、Docker サービスを自動的に開始して有効にします。次のコマンドを使用して、Docker サービスがアクティブであり、システム起動時に自動的に開始するように有効になっていることを確認します。また、そのステータスを確認します。

sudo systemctl is-active docker
sudo systemctl is-enabled docker
sudo systemctl status docker

docker サービスを管理および制御するための systemctl コマンドは他にもいくつかあります。これには次のようなものがあります。

sudo systemctl stop docker			#stop the docker service
sudo systemctl start docker			#start the docker service
sudo systemctl  restart docker		#restart the docker service

システムにインストールされているDocker CE のバージョンを確認するには、次のコマンドを実行します。

docker version

オプションや引数を指定せずに docker コマンドを実行すると、利用可能な docker の使用状況コマンドを表示できます。

 
docker

sudo コマンドを使用して非 root ユーザーとして Docker を管理する

デフォルトでは、Docker デーモンは、ユーザー root が所有する UNIX ソケット (TCP ポートではなく) にバインドします。したがって、Docker デーモンは常に root ユーザーとして実行され、docker コマンドを実行するには sudo を使用する必要があります。

さらに、Docker パッケージのインストール中に、docker というグループが作成されます。 Docker デーモンが起動すると、docker グループのメンバーがアクセスできる UNIX ソケットが作成されます (root ユーザーと同等の権限が付与されます)。

sudo を使用せずに docker コマンドを実行するには、次のように docker にアクセスするすべての非 root ユーザーを docker グループに追加します。この例では、コマンドは現在ログオンしているユーザー ($USER) またはユーザー名を docker グループに追加します。

sudo usermod -aG docker $USER
OR
sudo usermod -aG docker username

グループへの変更を有効にするには、次のコマンドを実行します。

newgrp docker 
groups

次に、sudo を使用せずに docker コマンドを実行できることを確認します。次のコマンドは、テスト イメージをダウンロードし、コンテナーで実行します。コンテナーが実行されると、情報メッセージが出力されて終了します。これは、インストールが正常に動作しているかどうかをクロスチェックするもう 1 つの方法でもあります。

docker run hello-world

Docker イメージの操作

Docker イメージは、Docker コンテナを作成するための手順が記載された読み取り専用のテンプレート ファイルです。カスタム イメージを作成することも、他の人が作成してコンテナ イメージの世界最大のライブラリおよびコミュニティである Docker Hub で公開されているイメージのみを使用することもできます。

次のコマンドを使用して、Docker Hubcentos イメージを検索できます。

docker search centos 

イメージをローカルにダウンロードするには、pull コマンドを使用します。この例では、 公式のcentos イメージをダウンロードする方法を示します。

docker pull centos

ダウンロードが完了すると、ローカル システム上で利用可能なイメージを一覧表示できます。

docker images

イメージが不要になった場合は、システムから削除できます。

docker rmi centos
OR
docker rmi centos:latest    #where latest is the tag

Dockerコンテナの実行と管理

Docker コンテナは、Linux 上でネイティブに実行され、ホスト マシンのカーネルを他のコンテナと共有するプロセスです。 Docker イメージに関して、コンテナは単なる実行中のイメージです。

新しい centos イメージに基づいてコンテナを起動するには、次のコマンドを実行します。ここで “centos ” はローカル イメージ名、「cat /etc/centos-release」は 」はコンテナ内で実行するコマンドです。

docker run centos cat /etc/centos-release

コンテナーは、ホストから分離された独自のファイル システム、ネットワーク、および分離されたプロセス ツリーを持つという点で分離された個別のプロセスを実行します。以下に示すように、コンテナのID、ID プレフィックス、または名前を使用してコンテナを操作できることに注意してください。上記のコンテナー プロセスは、コマンドの実行後に終了します。

Docker コンテナを一覧表示するには、次のように docker ps コマンドを使用します。 -l フラグを使用して、すべての状態で最後に作成されたコンテナを表示します。

docker ps
OR
docker ps -l

終了したコンテナを含むすべてのコンテナを表示するには、-a フラグを使用します。

docker ps -a

コンテナが終了した後、そのコンテナ ID を使用してコンテナを起動することもできます。たとえば、前のコマンドでは、コンテナ ID は 94c35e616b91 です。次のようにコンテナを起動できます (コマンドを実行して終了することに注意してください)。

docker start 94c35e616b91

ID を使用して実行中のコンテナを停止するには、 次のようにstop コマンドを使用します。

docker stop 94c35e616b91

Docker では、実行時に --name オプションを使用してコンテナに名前を割り当てることもできます。

docker run --name my_test centos cat /etc/centos-release
docker ps -l

これで、コンテナ名を使用してコンテナを管理 (開始、停止、統計、削除など) できるようになりました。

docker stop my_test
docker start my_test
docker stats my_test
docker rm my_test

Docker コンテナへの対話型セッションの実行

コンテナー内で対話型シェル セッションを起動して、コンテナー内でコマンドを実行できるようにするには、次のコマンドを実行します。

docker run --name my_test -it centos

上記のコマンドの -it スイッチは、コンテナの標準入力に接続された擬似 TTY を割り当てるように Docker に指示し、コンテナ内に対話型の bash シェルを作成します。

以下に示すように、exit コマンドを発行して終了できます。

exit

終了したくない場合は、コンテナから切り離して実行したままにすることができます。これを行うには、CTRL+p キー シーケンス、次に CTRL+q キー シーケンスを使用します。

attach コマンドを使用してコンテナに再度接続すると、ローカルの標準入力、出力、エラー ストリームが実行中のコンテナに接続されます。

docker attach my_test

さらに、 -d フラグを使用してコンテナをデタッチ モードで起動できます。次に、attach コマンドを使用して、ターミナルの標準入力、出力、エラー ストリームを実行中のコンテナに接続します。

docker run --name my_test -d -it centos
docker attach my_test

最後になりましたが、次のコマンドを実行すると、実行中のコンテナをホスト セッションから停止できます。

docker kill my_test

それだけです!このガイドでは、Ubuntu 20.04 Linux に Docker CE をインストールして使用する方法について説明しました。ご質問がございましたら、以下のフィードバック フォームを使用してお問い合わせください。