Dockerは、OSレベルの仮想化を使用して、コンテナーと呼ばれるパッケージでソフトウェアを配信するサービス製品としてのプラットフォームのセットです。コンテナは互いに分離されており、独自のソフトウェア、ライブラリ、および構成ファイルをバンドルしています。明確に定義されたチャネルを介して相互に通信できます。
関連記事
- Fedora34/35でdockerをインストールして設定する方法
- Debian11にdockerをインストールして設定する方法
- Centos8でdockerをインストールして構成する方法
- Dockerの使用を開始する例を使用して作成する
- ビルドエージェントとしてのDocker–DockerでJenkinsビルドを実行する
前提条件
フォローするには、次のことを確認してください。
- Ubuntu20.04システム
- システムからのインターネットアクセス
- rootアクセスまたはsudoアクセスを持つユーザー
目次
- システムパッケージが最新であることを確認してください
- 以前のバージョンがある場合はアンインストールします
- リポジトリを使用してDockerエンジンをインストールします
- パッケージからDockerエンジンをインストールします
- コンビニエンススクリプトを使用してインストール
- インストールを確認する
- Sudoを使用せずにDockerコマンドを実行する
- 必要がなくなったときに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をインストールすることができました。