ご存知かもしれませんが、Dockerを使用すると、任意のアプリケーションを軽量コンテナーとしてパック、出荷、実行できます。これは仮想マシンのようなものですが、よりポータブルでリソース効率が高いだけです。このチュートリアルでは、UbuntuにDockerをインストールする方法を説明します。
UbuntuにDockerをインストールするための要件
Dockerは32ビットをサポートしていないため、64ビットOSを使用している必要があります。
UbuntuリポジトリからDockerをインストールする
DockerはUbuntuソフトウェアリポジトリに含まれています。ターミナルで次のコマンドを実行すると、Dockerランタイムをインストールできます。これは、Ubuntu 16.04、Ubuntu 18.04、Ubuntu 19.10、Ubuntu20.04を含む現在のUbuntuバージョンで機能します。
sudo apt install docker.io
インストール中、docker
グループとSystemdサービスが作成されます。 systemdサービスは次のコマンドで確認できます:
systemctl status containerd
サンプル出力:
● containerd.service - containerd container runtime Loaded: loaded (/lib/systemd/system/containerd.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2020-04-21 09:32:38 HKT; 1min 45s ago Docs: https://containerd.io Main PID: 2035184 (containerd) Tasks: 11 Memory: 22.2M CGroup: /system.slice/containerd.service └─2035184 /usr/bin/containerd
DockerのAPTリポジトリからUbuntuにDockerをインストールする
アップストリームのDockerリポジトリは現在、Ubuntu 16.04、Ubuntu 18.04、Ubuntu19.10をサポートしています。
最新かつ最高のバージョンを確実に入手するには、DockerのAPTリポジトリからインストールする必要があります。次のコマンドを実行して、DockerリポジトリをUbuntuシステムに追加します。
echo "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list
次に、次のコマンドを実行してDocker GPGキーをUbuntuシステムにインポートし、APTがインストール中にパッケージの整合性を検証できるようにします。
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
また、このリポジトリはHTTPS接続を使用しているため、すべてのソフトウェアリポジトリで使用することをお勧めします。また、apt-transport-https
もインストールする必要があります。 および ca-certificates
パッケージ。
sudo apt install apt-transport-https ca-certificates
最後に、Ubuntuシステムのパッケージインデックスを更新し、docker-ce
をインストールします。 (Docker Community Edition)。
sudo apt update sudo apt install docker-ce
Dockerのインストール後に実行したいいくつかの簡単なコマンド
Dockerをインストールすると、Dockerデーモンが自動的に起動します。次のコマンドでステータスを確認できます:
systemctl status docker
実行されていない場合は、次のコマンドでデーモンを起動します。
sudo systemctl start docker
起動時に自動起動を有効にします:
sudo systemctl enable docker
Dockerのバージョンを確認してください。
docker -v
サンプル出力:
Docker version 20.10.8, build 3967b7d
Dockerのインストールに関するシステム全体の情報を表示します。
sudo docker info
出力:
Client: Context: default Debug Mode: false Plugins: app: Docker App (Docker Inc., v0.9.1-beta3) buildx: Build with BuildKit (Docker Inc., v0.6.1-docker) scan: Docker Scan (Docker Inc., v0.8.0) Server: Containers: 0 Running: 0 Paused: 0 Stopped: 0 Images: 0 Server Version: 20.10.8 Storage Driver: overlay2 Backing Filesystem: extfs Supports d_type: true Native Overlay Diff: true userxattr: false Logging Driver: json-file Cgroup Driver: cgroupfs Cgroup Version: 1 Plugins: Volume: local Network: bridge host ipvlan macvlan null overlay Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog Swarm: inactive Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc Default Runtime: runc Init Binary: docker-init containerd version: e25210fe30a0a703442421b0f60afac609f950a3 runc version: v1.0.1-0-g4144b63 init version: de40ad0 Security Options: apparmor seccomp Profile: default Kernel Version: 5.11.0-22-generic Operating System: Ubuntu 20.04.2 LTS OSType: linux Architecture: x86_64 CPUs: 10 Total Memory: 58.88GiB Name: focal ID: C7AR:BNAO:ASNW:W2FT:PA3E:RXQL:GLYY:EHNI:LRTK:6LPC:CM7R:MIFR Docker Root Dir: /var/lib/docker Debug Mode: false Registry: https://index.docker.io/v1/ Labels: Experimental: false Insecure Registries: 127.0.0.0/8 Live Restore Enabled: false
Dockerが正しくインストールされていることを確認します。
sudo docker run hello-world
Dockerが正しく機能していることを示す次のメッセージが表示されます。
Hello from Docker! This message shows that your installation appears to be working correctly.
新しいLinuxカーネルをインストールする
Dockerログを見ると
sudo journalctl -eu docker
次の警告が表示される場合があります
level=warning msg="Your kernel does not support swap memory limit" level=warning msg="Your kernel does not support CPU realtime scheduler" level=warning msg="Your kernel does not support cgroup blkio weight" level=warning msg="Your kernel does not support cgroup blkio weight_device"
Linuxカーネルの新しいバージョンをインストールできます。
Ubuntu 20.04
sudo apt install linux-image-generic-hwe-20.04-edge
Ubuntu 18.04
sudo apt install linux-image-generic-hwe-18.04-edge
次に、Ubuntuサーバーを再起動します。
sudo shutdown -r now