Dockerは、事実上どこでも実行できるポータブルで自給自足のコンテナーとしてアプリケーションを迅速に構築、テスト、デプロイできるようにするコンテナー化プラットフォームです。
このチュートリアルでは、Debian 10 BusterにDockerをインストールする方法を説明し、Dockerの基本的な概念とコマンドについて説明します。
DebianにDockerをインストールする#
次の手順を実行して、Dockerのリポジトリから最新の安定したDockerバージョンをインストールします。
-
HTTPS経由で新しいリポジトリを追加するために必要なパッケージをインストールします:
sudo apt update
sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg2
-
次の
curl
を使用して、リポジトリのGPGキーをインポートします コマンド:curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
成功すると、コマンドは
OK
を返します。 。 -
安定したDockerAPTリポジトリをシステムのソフトウェアリポジトリリストに追加します:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
$(lsb_release -cs)
Debianディストリビューションの名前を返します。この場合、それはbuster
。 -
apt
を更新します パッケージリストを作成し、最新バージョンのDocker CE(Community Edition)をインストールします:sudo apt update
sudo apt install docker-ce
-
インストールが完了すると、Dockerサービスが自動的に開始されます。確認するには、次のように入力します:
sudo systemctl status docker
● docker.service - Docker Application Container Engine Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2019-07-30 20:52:00 GMT; 1min 11s ago Docs: https://docs.docker.com ...
-
執筆時点で、Dockerの最新の安定バージョンは
19.03.1
です。 :docker -v
Docker version 19.03.1, build 74b1e89
SudoなしでDockerコマンドを実行する#
デフォルトでは、rootとsudo権限を持つユーザーのみがDockerコマンドを実行できます。
sudo
を付加せずにDockerコマンドを実行する場合 DockerCEパッケージのインストール中に作成されたdockerグループにユーザーを追加する必要があります。これを行うには、次のように入力します:
sudo usermod -aG docker $USER
$USER
ユーザー名を保持する環境変数です。
ログアウトしてから再度ログインすると、グループメンバーシップが更新されます。
docker
を実行できることを確認するために完了したら sudo
のないコマンド 次のように入力します:
docker container run hello-world
このコマンドは、テストイメージをダウンロードし、コンテナーで実行し、「HellofromDocker」メッセージを出力して終了します。出力は次のようになります。
Dockerの使用#
Debian 10にインストールしたので、Dockerの基本的な概念とコマンドを見ていきましょう。
Docker画像#
Dockerイメージは、実行可能ソフトウェアアプリケーションを構成するイメージのDockerfile内の命令を表す一連のファイルシステムレイヤーで構成されます。イメージは、アプリケーションと、ライブラリ、バイナリ、アプリケーションの実行に必要な命令などの他のすべての依存関係を含む不変のバイナリファイルです。
ほとんどのDockerイメージはDockerHubで利用できます。これはクラウドベースのレジストリサービスであり、他の機能の中でも特に、Dockerイメージをパブリックリポジトリまたはプライベートリポジトリに保持するために使用されます。
Docker Hubレジストリからイメージを検索するには、docker search
を使用します 指図。たとえば、Debianイメージを検索するには、次のように入力します。
docker search debian
Dockerコンテナ#
画像のインスタンスはコンテナと呼ばれます。コンテナは、単一のアプリケーション、プロセス、またはサービスのランタイムを表します。
これは最も適切な比較ではないかもしれませんが、プログラマーであれば、Dockerイメージをクラスとして、Dockerコンテナーをクラスのインスタンスとして考えることができます。
コンテナを開始、停止、削除、管理するには、docker container
を使用します 指図。たとえば、次のコマンドは、Debianイメージに基づいてDockerコンテナを起動します。ローカルに画像がない場合は、最初にダウンロードされます:
docker container run debian
Debianコンテナは、長時間実行されるプロセスがなく、他のコマンドが提供されていないため、起動後すぐに停止します。コンテナが起動し、空のコマンドを実行してから終了しました。
スイッチ-it
コマンドラインからコンテナを操作できます。インタラクティブコンテナタイプを開始するには:
docker container run -it debian /bin/bash
root@ee86c8c81b3b:/#
上記の出力からわかるように、コンテナが開始されると、コマンドプロンプトが変更されます。これは、コンテナ内から作業していることを意味します。
実行中のDockerコンテナを一覧表示するには、次のコマンドを使用します。
docker container ls
実行中のコンテナがない場合、出力は空になります。
すべてのコンテナを表示するには、-a
を渡します スイッチ:
docker container ls -a
1つ以上のコンテナを削除するには、コンテナID(または複数のID)をコピーして、container rm
の後に貼り付けます。 コマンド:
docker container rm c55680af670c