GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntu20.04にDockerをインストールして使用する方法

Dockerは、OSレベルの仮想化を使用して、コンテナーと呼ばれるパッケージでソフトウェアを配信するサービス製品としてのプラットフォームのセットです。コンテナは互いに分離されており、独自のソフトウェア、ライブラリ、および構成ファイルをバンドルしています。明確に定義されたチャネルを介して相互に通信できます。

関連記事

  • Fedora34/35でdockerをインストールして設定する方法
  • Debian11にdockerをインストールして設定する方法
  • Centos8でdockerをインストールして構成する方法
  • Dockerの使用を開始する例を使用して作成する
  • ビルドエージェントとしてのDocker–DockerでJenkinsビルドを実行する

前提条件

フォローするには、次のことを確認してください。

  • Ubuntu20.04システム
  • システムからのインターネットアクセス
  • rootアクセスまたはsudoアクセスを持つユーザー

目次

  1. システムパッケージが最新であることを確認してください
  2. 以前のバージョンがある場合はアンインストールします
  3. リポジトリを使用してDockerエンジンをインストールします
  4. パッケージからDockerエンジンをインストールします
  5. コンビニエンススクリプトを使用してインストール
  6. インストールを確認する
  7. Sudoを使用せずにDockerコマンドを実行する
  8. 必要がなくなったときにDockerをアンインストールする

1。システムパッケージが最新であることを確認してください

先に進む前に、パッケージが更新されていることを確認しましょう

sudo apt update
sudo apt upgrade -y

2。以前のバージョンがある場合はアンインストールします

古いバージョンのDockerを提供するパッケージはdockerです 、docker.io 、またはdocker-engine
このコマンドを使用して、これらのパッケージがシステムに存在しないことを確認しましょう:

sudo apt-get remove -y docker docker-engine docker.io containerd runc

apt-getがこれらのパッケージがインストールされていないことを報告しても問題ありません。

dockerのインストール

ニーズに応じて、さまざまな方法でDockerEngineをインストールできます。

  • aptを使用してDockerリポジトリを設定し、Dockerをインストールできます
  • DEBパッケージをダウンロードして、手動でインストールできます
  • 自動化された便利なスクリプトを使用してDockerをインストールすることを選択できます

3。リポジトリを使用してDockerエンジンをインストールします

新しいホストでは、Dockerリポジトリは存在しません。新しいホストマシンで初めて、Dockerリポジトリを設定する必要があります。その後、リポジトリからDockerをインストールして更新できます。

次のパッケージをインストールして、aptがHTTPS経由でリポジトリを使用できるようにします。

sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

Dockerの公式GPGキーを追加します:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

次のコマンドを使用して、安定したリポジトリを設定します。

echo \
  "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Dockerエンジンのインストール

新しいリポジトリを追加したので、aptパッケージインデックスを更新します:

sudo apt-get update

それでは、最新バージョンのDockerEngineとコンテナ化されたusiをインストールしましょう

sudo apt-get install -y docker-ce docker-ce-cli containerd.io

オプション:特定のバージョンをインストールする

特定のバージョンを必要とする要件がある場合は、そうすることができます。

特定のバージョンをインストールするには:
リポジトリで利用可能なバージョンを一覧表示します:

$ sudo apt-cache madison docker-ce
 docker-ce | 5:20.10.9~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.8~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.7~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.6~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.5~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.4~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.3~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.2~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.1~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.0~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:19.03.15~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:19.03.14~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:19.03.13~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:19.03.12~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:19.03.11~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:19.03.10~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:19.03.9~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages

これで、2番目の列のバージョン文字列を使用して特定のバージョンをインストールできます(例:5:19.03.9~3-0~ubuntu-focal)。 。

sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io

例:

sudo apt-get install docker-ce=5:19.03.9~3-0 docker-ce-cli=5:19.03.9~3-0 containerd.io

4。パッケージからDockerエンジンをインストールします

Dockerのリポジトリを使用してDockerEngineをインストールできない場合は、リリースの.debファイルをダウンロードして、手動でインストールできます。 Dockerをアップグレードするたびに、新しいファイルをダウンロードする必要があります。

https://download.docker.com/linux/ubuntu/dists/にアクセスし、Ubuntuのバージョンを選択してから、pool/stable/にアクセスします。 、amd64を選択します 、armhf 、またはarm64 、インストールするDockerEngineバージョンの.debファイルをダウンロードします。

Docker Engineをインストールし、以下のパスをDockerパッケージをダウンロードしたパスに変更します。

 sudo dpkg -i /path/to/package.deb

Dockerデーモンが自動的に起動します。

hello-worldイメージを実行して、DockerEngineが正しくインストールされていることを確認します。

 sudo docker run hello-world

このコマンドは、テストイメージをダウンロードし、コンテナーで実行します。コンテナが実行されると、情報メッセージが出力されて終了します。

5。コンビニエンススクリプトを使用してインストールする

Dockerは、get.docker.comで便利なスクリプトを提供して、Dockerを開発環境に迅速かつ非対話的にインストールします。

この例では、get.docker.comからスクリプトをダウンロードして実行し、Linuxに最新の安定したDockerリリースをインストールします。

 curl -fsSL https://get.docker.com -o get-docker.sh
 sudo sh get-docker.sh

6。インストールを確認する

インストール時に、dockerはデーモンとして実行されます。 Dockerが実行されていることを確認するには、systemctl status 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 Fri 2021-10-08 05:35:57 UTC; 3min 50s ago
TriggeredBy: ● docker.socket
       Docs: https://docs.docker.com
   Main PID: 146750 (dockerd)
      Tasks: 8
     Memory: 30.0M
     CGroup: /system.slice/docker.service
             └─146750 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

Oct 08 05:35:57 ip-172-26-11-229 dockerd[146750]: time="2021-10-08T05:35:57.378859538Z" level=warning msg="Your kernel does not support CPU r>
Oct 08 05:35:57 ip-172-26-11-229 dockerd[146750]: time="2021-10-08T05:35:57.378869630Z" level=warning msg="Your kernel does not support cgrou>
Oct 08 05:35:57 ip-172-26-11-229 dockerd[146750]: time="2021-10-08T05:35:57.378877385Z" level=warning msg="Your kernel does not support cgrou>
Oct 08 05:35:57 ip-172-26-11-229 dockerd[146750]: time="2021-10-08T05:35:57.379112713Z" level=info msg="Loading containers: start."
Oct 08 05:35:57 ip-172-26-11-229 dockerd[146750]: time="2021-10-08T05:35:57.500736755Z" level=info msg="Default bridge (docker0) is assigned >
Oct 08 05:35:57 ip-172-26-11-229 dockerd[146750]: time="2021-10-08T05:35:57.560469239Z" level=info msg="Loading containers: done."

Active: active (running) dockerが正常に開始されたことを示します。

hello-worldを実行できます Dockerが期待どおりに機能することをテストするための画像:

 sudo docker run hello-world

このコマンドは、テストイメージをダウンロードし、コンテナーで実行します。コンテナが実行されると、情報メッセージが出力されて終了します。

この出力を取得し、正常に動作することを示しています:

$ sudo docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
2db29710123e: Pull complete
Digest: sha256:9ade9cc2e26189a19c2e8854b9c8f1e14829b51c55a630ee675a5a9540ef6ccf
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

7。 Sudoを使用せずにDockerコマンドを実行する

デフォルトでは、dockerコマンドは、rootユーザー、またはDockerのインストールプロセス中に自動的に作成されるdockerグループのユーザーのみが実行できます。 dockerコマンドの前にsudoを付けずに、またはdockerグループに含まずに実行しようとすると、次のような出力が得られます。

$ docker ps
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/json": dial unix /var/run/docker.sock: connect: permission denied

dockerコマンドを実行するたびにsudoと入力しないようにするには、ユーザー名をdockerグループに追加します。

sudo usermod -aG docker ${USER}

新しいグループメンバーシップを適用するには、サーバーからログアウトして再度ログインするか、次のように入力します。

su - ${USER}

続行するには、ユーザーのパスワードを入力するよう求められます。

次のように入力して、ユーザーがDockerグループに追加されたことを確認します。

id -nG

これが表示され、Dockerグループに属していることを確認します

$ id -nG
ubuntu docker

Dockerを実行できるようになりました:
高山の画像を実行できます

$ docker run --rm -it --name alpine --entrypoint /bin/sh alpine:3
Unable to find image 'alpine:3' locally
3: Pulling from library/alpine
a0d0a0d46f8b: Pull complete
Digest: sha256:e1c082e3d3c45cccac829840a25941e679c25d438cc8412c2fa221cf1a824e6a
Status: Downloaded newer image for alpine:3
/ #

システムにdockerが正常にインストールされました!

8。必要がなくなったときにDockerをアンインストールする

Docker Engineをシステムから完全に消去するには、Docker Engine、CLI、およびContainerdパッケージをアンインストールする必要があります。

 sudo apt-get purge docker-ce docker-ce-cli containerd.io -y

ホスト上のイメージ、コンテナー、ボリューム、またはカスタマイズされた構成ファイルは、自動的に削除されません。すべてのイメージ、コンテナ、およびボリュームを削除するには:

 sudo rm -rf /var/lib/docker
 sudo rm -rf /var/lib/containerd

編集した構成ファイルは手動で削除する必要があります。

結論

このガイドでは、Ubuntu20.04システムにdockerをインストールすることができました。


Ubuntu
  1. Ubuntu20.04にDockerをインストールして使用する方法

  2. Ubuntu20.04にWineをインストールして使用する方法

  3. Ubuntu18.04にDockerをインストールして使用する方法

  1. Ubuntu18.04にDockerComposeをインストールして使用する方法

  2. Ubuntu18.04にFFmpegをインストールして使用する方法

  3. Ubuntu18.04にWineをインストールして使用する方法

  1. Ubuntu18.04にCurlをインストールして使用する方法

  2. Ubuntu20.04にCurlをインストールして使用する方法

  3. Ubuntu18.04にDockerをインストールしてセットアップする方法