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

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

この記事は、初心者がUbuntu 20.04 LinuxシステムにDockerをインストールして使用する方法と、いくつかの基本的なコマンドを学ぶための良い出発点です。このガイドでは、 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 focus stable"

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

 $ sudo apt update

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

 $ sudo apt install docker-ce
UbuntuにDockerをインストールする
UbuntuにDockerをインストールする

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

 $ sudo systemctl is-active docker
$ sudo systemctl is-enabled docker
$ sudo systemctl status docker
Dockerステータスを確認する
Dockerステータスを確認する

dockerサービスを管理および制御する他のsystemctlコマンドがいくつかあります。これには以下が含まれます。

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

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

 $ docker version
Dockerバージョンを確認する
Dockerバージョンを確認する

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

 $ docker
Dockerコマンドのリスト
Dockerコマンドのリスト

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

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

また、 ドッカーパッケージのインストール時に、というグループdocker作成されます。 ドッカーデーモンを開始するには、それはUNIXソケットのアクセス(rootユーザと同等の権限を付与) ドッキングウィンドウ・グループのメンバーによってを作成するとき。

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

 $ sudo usermod -aG docker $ USER
または
$ sudo usermod -aG docker username

グループへの変更をアクティブにするには、次のコマンドを実行します。

 $ newgrp docker $グループ
Dockerグループにユーザーを追加
Dockerグループにユーザーを追加

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

 $ docker run hello-world
Dockerのインストールを確認する
Dockerのインストールを確認する

Dockerイメージの操作

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

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

 $ docker search centos
Dockerイメージを検索
Dockerイメージを検索

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

 $ docker pull centos
CentOS Dockerイメージをダウンロード
CentOS Dockerイメージをダウンロード

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

 $ docker画像
Dockerイメージの一覧表示
Dockerイメージの一覧表示

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

 $ docker rmi centos
または
$ docker rmi centos:latest #where latestはタグです

Dockerコンテナーの実行と管理

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

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

 $ docker run centos cat / etc / centos-release
Dockerコンテナでコマンドを実行する
Dockerコンテナでコマンドを実行する

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

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

 $ docker ps
または
$ docker ps -l
Dockerコンテナーの一覧表示
Dockerコンテナーの一覧表示

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

 $ docker ps -a
すべてのDockerコンテナを表示
すべてのDockerコンテナを表示

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

 $ docker start 94c35e616b91
IDを使用してDockerコンテナーを開始する
IDを使用してDockerコンテナーを開始する

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

 $ドッカーストップ94c35e616b91

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

 $ docker run --name my_test centos cat / etc / centos-release
$ docker ps -l
Dockerコンテナーに名前を割り当てる
Dockerコンテナーに名前を割り当てる

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

 $ 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スイッチは、Dockerにコンテナーのstdinに接続された疑似TTYを割り当てるように指示し、コンテナー内にインタラクティブなbashシェルを作成します。

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

 # 出口

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

実行中のセッションからDockerを切り離す
実行中のセッションからDockerを切り離す

実行中のコンテナーにローカルの標準入力、出力、エラーストリームをアタッチするattachコマンドを使用して、コンテナーに接続し直すことができます。

 $ docker attach my_test

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

 $ docker run --name my_test -d -it centos
$ docker attach my_test
分離モードでDockerコンテナーを開始する
分離モードでDockerコンテナーを開始する

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

 $ docker kill my_test

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

Source