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

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

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

前提条件:

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"

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

$ sudo apt update

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

$ sudo apt install docker-ce
Install Docker on Ubuntu

Dockerパッケージのインストールプロセス中に、パッケージインストーラーはsystemd(システムおよびサービスマネージャー)を自動的に起動し、システムの起動時に自動的にdockerサービスが開始されるようにします。以下のコマンドを使用して、dockerサービスがアクティブであり、システムの起動時に自動的に開始されるように設定されていることを確認します。また、その状態を確認します:

$ sudo systemctl is-active docker
$ sudo systemctl is-enabled docker
$ sudo systemctl status docker
Check Docker Status

システム管理とDockerサービスの管理と制御には、以下が含まれます:

$ 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
Check Docker Version

オプションや引数なしでdockerコマンドを実行すると、利用可能なdocker使用コマンドを表示できます:

 
$ docker
List of Docker Commands

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

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

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

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

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

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

$ newgrp docker 
$ groups
Add User to Docker Group

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

$ docker run hello-world
Verify Docker Installation

Dockerイメージの操作

A Docker image is a read-only template file with instructions for creating a Docker container. You can either create your custom images or you can only use those created by others and published in the Docker Hub, the world’s largest library and community for container images.

以下のコマンドでDocker Hubcentosイメージを検索できます:

$ docker search centos 
Search Docker Images

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

$ docker pull centos
Download CentOS Docker Image

ダウンロードが完了したら、ローカルシステムで利用可能なイメージをリスト表示できます。

$ docker images
List Docker Images

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

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

Dockerコンテナの実行と管理

A Docker container is a process that runs natively on Linux and shares the kernel of the host machine with other containers. Concerning a Docker image, a container is just a running image.

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

$ docker run centos cat /etc/centos-release
Run Commands in Docker Container

A container runs a discrete process that is isolated in that it has its own: file system, networking, and isolated process tree separate from the host. Note that you can manipulate a container using the container’s ID, ID-prefix, or name as shown below. The above container process exits after the command runs.

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

$ docker ps
OR
$ docker ps -l
List Docker Containers

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

$ docker ps -a
Show All Docker Containers

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

$ docker start 94c35e616b91
Start a Docker Container Using ID

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

$ docker stop 94c35e616b91

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

$ docker run --name my_test centos cat /etc/centos-release
$ docker ps -l
Assign a Name to Docker Container

これで、コンテナ名を使用してコンテナを管理(起動、停止、統計、削除など)できます。

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

Dockerコンテナにインタラクティブなセッションを実行する

コンテナ内でコマンドを実行するためにインタラクティブなシェルセッションを起動するには、次のコマンドを実行します:

$ docker run --name my_test -it centos
Start Interactive Shell into a Container

上記のコマンドでは、-itスイッチを使用して、Dockerに擬似TTYを割り当て、コンテナのstdinに接続し、コンテナ内でインタラクティブなbashシェルを作成します。

終了するには、次のようにexitコマンドを発行します。

# exit

終了しない場合は、コンテナから切断して実行を維持することもできます。そのためには、CTRL+pCTRL+qキーの順に使用します。

Detach Docker from a Running Session

実行中のコンテナにローカルの標準入力、出力、およびエラーストリームをアタッチするには、attachコマンドを使用できます:

$ docker attach my_test

また、-dフラグを使用してデタッチドモードでコンテナを起動することもできます。その後、attachコマンドを使用して、端末の標準入力、出力、およびエラーストリームを実行中のコンテナにアタッチします:

$ docker run --name my_test -d -it centos
$ docker attach my_test
Start Docker Container in Detached Mode

最後に、次のコマンドを実行してホストセッションから実行中のコンテナを停止することもできます:

$ docker kill my_test

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

Source:
https://www.tecmint.com/install-docker-on-ubuntu/