Ubuntu20.04にDockerをインストールして使用する方法
序章
Docker は、コンテナでアプリケーションプロセスを管理するプロセスを簡素化するアプリケーションです。 コンテナを使用すると、リソースが分離されたプロセスでアプリケーションを実行できます。 これらは仮想マシンに似ていますが、コンテナーはより移植性が高く、リソースに優しく、ホストオペレーティングシステムへの依存度が高くなっています。
Dockerコンテナーのさまざまなコンポーネントの詳細な概要については、 Dockerエコシステム:一般的なコンポーネントの概要をご覧ください。
このチュートリアルでは、Ubuntu20.04にDockerCommunity Edition(CE)をインストールして使用します。 Docker自体をインストールし、コンテナーとイメージを操作して、イメージをDockerリポジトリーにプッシュします。
前提条件
このチュートリアルに従うには、次のものが必要です。
- Ubuntu20.04初期サーバーセットアップガイドに従ってセットアップされた1つのUbuntu20.04サーバー(sudo非rootユーザーとファイアウォールを含む)。
- 手順7と8に示すように、独自のイメージを作成してDocker Hubにプッシュする場合は、 DockerHubのアカウント。
ステップ1—Dockerをインストールする
公式Ubuntuリポジトリで利用可能なDockerインストールパッケージは最新バージョンではない可能性があります。 最新バージョンを確実に入手するために、公式のDockerリポジトリからDockerをインストールします。 これを行うには、新しいパッケージソースを追加し、DockerからGPGキーを追加してダウンロードが有効であることを確認してから、パッケージをインストールします。
まず、既存のパッケージのリストを更新します。
- sudo apt update
次に、apt
がHTTPS経由でパッケージを使用できるようにするいくつかの前提条件パッケージをインストールします。
- sudo apt install apt-transport-https ca-certificates curl software-properties-common
次に、公式DockerリポジトリのGPGキーをシステムに追加します。
- curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
DockerリポジトリをAPTソースに追加します。
- sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
これにより、新しく追加されたリポジトリのDockerパッケージでパッケージデータベースも更新されます。
デフォルトのUbuntuリポジトリではなくDockerリポジトリからインストールしようとしていることを確認してください。
- apt-cache policy docker-ce
Dockerのバージョン番号は異なる場合がありますが、次のような出力が表示されます。
docker-ce:
Installed: (none)
Candidate: 5:19.03.9~3-0~ubuntu-focal
Version table:
5:19.03.9~3-0~ubuntu-focal 500
500 https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
docker-ce
はインストールされていませんが、インストールの候補はUbuntu 20.04のDockerリポジトリ(focal
)からのものであることに注意してください。
最後に、Dockerをインストールします。
- sudo apt install docker-ce
これでDockerがインストールされ、デーモンが起動し、プロセスが起動時に開始できるようになります。 実行されていることを確認します。
- sudo systemctl status docker
出力は次のようになり、サービスがアクティブで実行中であることを示します。
Output● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2020-05-19 17:00:41 UTC; 17s ago
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
Main PID: 24321 (dockerd)
Tasks: 8
Memory: 46.4M
CGroup: /system.slice/docker.service
└─24321 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
Dockerをインストールすると、Dockerサービス(デーモン)だけでなく、docker
コマンドラインユーティリティまたはDockerクライアントも提供されるようになりました。 このチュートリアルの後半で、docker
コマンドの使用方法について説明します。
手順2— Sudoを使用せずにDockerコマンドを実行する(オプション)
デフォルトでは、docker
コマンドは、 root ユーザー、またはDockerのインストールプロセス中に自動的に作成されるdockerグループのユーザーのみが実行できます。 docker
コマンドの前にsudo
を付けずに、または docker グループに入れずに実行しようとすると、次のような出力が得られます。
Outputdocker: Cannot connect to the Docker daemon. Is the docker daemon running on this host?.
See 'docker run --help'.
docker
コマンドを実行するたびにsudo
と入力しないようにするには、ユーザー名をdocker
グループに追加します。
- sudo usermod -aG docker ${USER}
新しいグループメンバーシップを適用するには、サーバーからログアウトして再度ログインするか、次のように入力します。
- su - ${USER}
続行するには、ユーザーのパスワードを入力するように求められます。
次のように入力して、ユーザーがdockerグループに追加されたことを確認します。
- groups
Outputsammy sudo docker
ログインしていないdocker
グループにユーザーを追加する必要がある場合は、以下を使用してそのユーザー名を明示的に宣言します。
- sudo usermod -aG docker username
この記事の残りの部分では、[X83X]