Dockerは、開発者やシステム管理者がアプリケーションを構築、実行、コンテナで共有するための最も人気のあるオープンソースプラットフォームです。コンテナーは柔軟で軽量、ポータブル、疎結合、スケーラブルで安全であるため、コンテナー化(アプリケーションをデプロイするためのコンテナーの使用)が一般的になりつつあります。
この記事は、初心者がUbuntu 20.04 LinuxシステムにDockerをインストールして使用する方法と、いくつかの基本的なコマンドを学ぶための良い出発点です。このガイドでは、 Docker Community Edition ( CE )をインストールします 。
前提条件:
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
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 docker service $ sudo systemctl start docker #start docker service $ sudo systemctl restart docker #restart docker service
システムにインストールされているDocker CEのバージョンを確認するには、次のコマンドを実行します。
$ docker version
オプションや引数を指定せずに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 $グループ
次に、 sudoなしでdockerコマンドを実行できることを確認します。次のコマンドは、テストイメージをダウンロードしてコンテナで実行します。コンテナが実行されると、情報メッセージを出力して終了します。これは、インストールが正常に機能しているかどうかをクロスチェックするもう1つの方法でもあります。
$ docker run hello-world
Dockerイメージの操作
Dockerイメージは、 Dockerコンテナーを作成するための手順が記載された読み取り専用のテンプレートファイルです。カスタムイメージを作成することも、他のユーザーが作成してコンテナイメージ用の世界最大のライブラリおよびコミュニティであるDocker Hubで公開したイメージのみを使用することもできます。
次のコマンドを使用して、 Docker Hubでcentos
イメージを検索できます。
$ docker search centos
ローカルにイメージをダウンロードするには、 pullコマンドを使用します 。この例は、公式のCentOSイメージをダウンロードする方法を示しています。
$ docker pull centos
ダウンロードが完了したら、ローカルシステムで使用可能なイメージを一覧表示できます。
$ 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
コンテナーは、独自の独立したプロセスを実行します。つまり、ファイルシステム、ネットワーク、およびホストから分離された分離されたプロセスツリーです。以下に示すように、コンテナのID 、IDプレフィックス、または名前を使用してコンテナを操作できることに注意してください。上記のコンテナープロセスは、コマンドの実行後に終了します。
Dockerコンテナを一覧表示するには、次のようにdocker psコマンドを使用します。 -l
フラグを使用して、すべての状態で最後に作成されたコンテナーを表示します。
$ docker ps または $ docker ps -l
終了したコンテナを含むすべてのコンテナを表示するには、 -a
フラグを使用します。
$ docker ps -a
終了したコンテナIDを使用してコンテナを起動することもできます。たとえば、前のコマンドでは、コンテナーIDは94c35e616b91です。次のようにコンテナーを起動できます(コマンドを実行して終了することに注意してください)。
$ docker start 94c35e616b91
IDを使用して実行中のコンテナーを停止するには、次のように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
スイッチは、Dockerにコンテナーのstdinに接続された疑似TTYを割り当てるように指示し、コンテナー内にインタラクティブなbashシェルを作成します。
次に示すように、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をインストールして使用する方法について説明しました。ご不明な点がございましたら、下記のフィードバックフォームを使用してお問い合わせください。