このガイドでは、Dockerとは何か、UbuntuLinuxにDockerをインストールする方法を説明します。さらに、マルチコンテナDockerアプリケーションを定義して実行するためのツールであるDockercomposeをインストールする方法についても説明します。
Dockerとは何ですか?
Docker は、必要なすべての依存関係を備えたアプリケーションを構築し、それを1つのパッケージとして出荷したい開発者およびシステム管理者向けの、高速で軽量なOSレベルの仮想化テクノロジーです。
VMWare、Xen、VirtualBoxなどの他の仮想化方式とは異なり、仮想マシンごとに個別のゲストオペレーティングシステムは必要ありません。
すべてのDockerコンテナは、ホストオペレーティングシステムのカーネルを効率的に共有します。各コンテナは、同じオペレーティングシステムの分離されたユーザースペースで実行されます。
DockerコンテナはすべてのLinuxバリアントでも実行されます。あなたがFedoraで作業していて、私がUbuntuを使用しているとしましょう。 Dockerイメージを相互に開発、共有、配布することは引き続き可能です。
OS、ソフトウェア、カスタマイズされた設定などについて心配する必要はありません。ホストシステムにDockerがインストールされている限り、開発を続行できます。簡単に言えば、Dockerはどこでも機能します!
上記の段落の2つの用語、つまりDocker画像を読みました。 およびDockerコンテナ 。不思議に思うかもしれませんが、実際には何があり、それらの違いは何ですか?
素人の言葉で言えば、Dockerイメージはコンテナーの動作を説明するファイルですが、DockerコンテナーはDockerイメージの実行中(または停止中)の状態です。
>Dockerについての基本的な考え方がわかったと思います。詳細については、公式のDockerユーザーガイドを参照してください。リンクはこのガイドの最後に添付されています。
Dockerの要件
Dockerをインストールして構成するには、システムが次の最小要件を満たしている必要があります。
- 64ビット LinuxまたはWindowsオペレーティングシステム;
- Linuxを使用している場合、カーネルのバージョンは 3.10である必要があります 以上。
- システムはインターネットに接続されている必要があります。
Linuxでは、カーネルとアーキテクチャの詳細を確認するには、ターミナルから次のコマンドを実行します。
$ uname -a
出力例:
Linux ubuntuserver 4.15.0-91-generic #92-Ubuntu SMP Fri Feb 28 11:09:48 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
上記の出力にあるように、私のUbuntuシステムのカーネルバージョンは 4.15.0-91-generic 私のUbuntuシステムのアーキテクチャは64ビットです ( x86_64 x86_64 x86_64 GNU / Linux )。上記の結果の太字を確認してください。
ええと、カーネルのバージョンは最小要件よりも高く、アーチは64ビットです。そのため、Dockerを問題なくインストールして使用できます。
どのUbuntuOSを使用するかは問題ではないことに注意してください。また、UbuntuDesktopまたはUbuntuServerエディション、あるいはLubuntu、Kubuntu、Xubuntuなどの他のUbuntuバリアントを使用するかどうかは関係ありません。
Kernelバージョン3.10以降があり、システムのアーチが64ビットである限り、Dockerは問題なく動作します。
Ubuntu18.04LTSにDockerをインストールする
まず、Ubuntuシステムを更新します。
これを行うには、ターミナルを開き、次のコマンドを1つずつ実行します。
$ sudo apt-get update
$ sudo apt-get upgrade
Dockerは公式のUbuntuリポジトリでは利用できません。そこで、Dockerリポジトリを追加して、最新バージョンのDockerを取得します。
まず、必要な証明書をインストールして、 aptを許可します コマンドを使用してHTTPS経由でリポジトリを使用するパッケージマネージャー:
$ sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
次に、Dockerの公式GPGキーを追加します:
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
キーが指紋で追加されているかどうかを確認します9DC85822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 、指紋の最後の8文字を検索する:
$ sudo apt-key fingerprint 0EBFCD88
以下のような出力が表示されます。
pub rsa4096 2017-02-22 [SCEA] 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 uid [ unknown] Docker Release (CE deb) <[email protected]> sub rsa4096 2017-02-22 [S]
Docker公式リポジトリを追加します:
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
最後に、次のコマンドを実行して、Ubuntu18.04LTSサーバーに最新のDockerCEをインストールします。
$ sudo apt-get install docker-ce docker-ce-cli containerd.io
Ubuntuにdockerをインストールする
もちろん、特定のDockerバージョンをインストールすることもできます。利用可能なDockerバージョンのリストを確認するには、次のコマンドを実行します。
$ apt-cache madison docker-ce
出力例:
docker-ce | 5:19.03.8~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages docker-ce | 5:19.03.7~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages docker-ce | 5:19.03.6~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages docker-ce | 5:19.03.5~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages docker-ce | 5:19.03.4~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages docker-ce | 5:19.03.3~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages docker-ce | 5:19.03.2~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages docker-ce | 5:19.03.1~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages docker-ce | 5:19.03.0~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages docker-ce | 5:18.09.9~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages docker-ce | 5:18.09.8~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages docker-ce | 5:18.09.7~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages docker-ce | 5:18.09.6~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages docker-ce | 5:18.09.5~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages docker-ce | 5:18.09.4~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages docker-ce | 5:18.09.3~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages docker-ce | 5:18.09.2~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages docker-ce | 5:18.09.1~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages docker-ce | 5:18.09.0~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages docker-ce | 18.06.3~ce~3-0~ubuntu | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages docker-ce | 18.06.2~ce~3-0~ubuntu | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages docker-ce | 18.06.1~ce~3-0~ubuntu | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages docker-ce | 18.06.0~ce~3-0~ubuntu | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages docker-ce | 18.03.1~ce~3-0~ubuntu | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
上記のリストから利用可能なバージョンを選択してインストールできます。たとえば、バージョン 5:18.09.2〜3-0〜ubuntu-bionicをインストールするには 、実行:
$ sudo apt install docker-ce=5:18.09.2~3-0~ubuntu-bionic docker-ce-cli=5:18.09.2~3-0~ubuntu-bionic containerd.io
インストールしたら、Dockerサービスが次のコマンドで実行されているかどうかを確認します:
$ 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 2020-04-10 10:39:00 UTC; 3min 40s ago Docs: https://docs.docker.com Main PID: 14610 (dockerd) Tasks: 8 CGroup: /system.slice/docker.service └─14610 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock Apr 10 10:38:55 ubuntuserver dockerd[14610]: time="2020-04-10T10:38:55.800086650Z" level=warning msg="Your kernel does not support swap memory limit" Apr 10 10:38:55 ubuntuserver dockerd[14610]: time="2020-04-10T10:38:55.801329697Z" level=warning msg="Your kernel does not support cgroup rt period" Apr 10 10:38:55 ubuntuserver dockerd[14610]: time="2020-04-10T10:38:55.801659115Z" level=warning msg="Your kernel does not support cgroup rt runtime" Apr 10 10:38:55 ubuntuserver dockerd[14610]: time="2020-04-10T10:38:55.802348633Z" level=info msg="Loading containers: start." Apr 10 10:38:57 ubuntuserver dockerd[14610]: time="2020-04-10T10:38:57.965216155Z" level=info msg="Default bridge (docker0) is assigned with an IP address 172.17.0.0/16. Apr 10 10:38:58 ubuntuserver dockerd[14610]: time="2020-04-10T10:38:58.779021136Z" level=info msg="Loading containers: done." Apr 10 10:38:59 ubuntuserver dockerd[14610]: time="2020-04-10T10:38:59.283684712Z" level=info msg="Docker daemon" commit=afacb8b7f0 graphdriver(s)=overlay2 version=19.03. Apr 10 10:38:59 ubuntuserver dockerd[14610]: time="2020-04-10T10:38:59.286277513Z" level=info msg="Daemon has completed initialization" Apr 10 10:39:00 ubuntuserver systemd[1]: Started Docker Application Container Engine. Apr 10 10:39:00 ubuntuserver dockerd[14610]: time="2020-04-10T10:39:00.306773751Z" level=info msg="API listen on /var/run/docker.sock"
素晴らしい! Dockerサービスが稼働しています!
まだ開始されていない場合は、次のコマンドを実行して開始します。
$ sudo systemctl start docker
再起動するたびにDockerサービスが自動的に開始するようにします:
$ sudo systemctl enable docker
インストールされているDockerのバージョンは、次のコマンドを使用して見つけることができます:
$ sudo docker version
出力例:
Client: Docker Engine - Community Version: 19.03.8 API version: 1.40 Go version: go1.12.17 Git commit: afacb8b7f0 Built: Wed Mar 11 01:25:46 2020 OS/Arch: linux/amd64 Experimental: false Server: Docker Engine - Community Engine: Version: 19.03.8 API version: 1.40 (minimum version 1.12) Go version: go1.12.17 Git commit: afacb8b7f0 Built: Wed Mar 11 01:24:19 2020 OS/Arch: linux/amd64 Experimental: false containerd: Version: 1.2.13 GitCommit: 7ad184331fa3e55e52b890ea95e65ba581ae3429 runc: Version: 1.0.0-rc10 GitCommit: dc9208a3303feef5b3839f4323d9beb36df0a9dd docker-init: Version: 0.18.0 GitCommit: fec3683
LinuxでDockerのバージョンを確認する
Dockerのテスト
先に進んで、Dockerが機能しているかどうかをテストしましょう。
これを行うには、次を実行します:
$ sudo docker run hello-world
上記のコマンドは、テスト用のDockerイメージをダウンロードし、サンプルの hello_worldを実行します。 コンテナ内のプログラム。
以下のような出力が表示された場合は、おめでとうございます。 DockerはUbuntuシステムで正常に動作しています。
Unable to find image 'hello-world:latest' locally latest: Pulling from library/hello-world 1b930d010525: Pull complete Digest: sha256:f9dfddf63636d84ef479d645ab5885156ae030f611a56f3a7ac7f2fdd86d7e4e Status: Downloaded newer image for hello-world:latest Hello from Docker! This message shows that your installation appears to be working correctly. To generate this message, Docker took the following steps: 1. The Docker client contacted the Docker daemon. 2. The Docker daemon pulled the "hello-world" image from the Docker Hub. (amd64) 3. The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading. 4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal. To try something more ambitious, you can run an Ubuntu container with: $ docker run -it ubuntu bash Share images, automate workflows, and more with a free Docker ID: https://hub.docker.com/ For more examples and ideas, visit: https://docs.docker.com/get-started/にアクセスしてください。
helloworlddockerコンテナを実行する
すばらしい! Dockerを使用する準備が整いました。
Linuxでroot以外のユーザーとしてDockerを実行する
デフォルトでは、DockerデーモンはTCPポートではなくUnixソケットにバインドします。そのUnixソケットはルートによって所有されているので ユーザーの場合、Dockerデーモンはrootユーザーとしてのみ実行されます。したがって、通常のユーザーはほとんどのDockerコマンドを実行できません。
Linuxでroot以外のユーザーとしてDockerを実行する場合は、次のガイドを参照してください。
- Linuxでroot以外のユーザーとしてDockerを実行する方法
UbuntuにDockerComposeをインストールする
ドッカー作成 は、マルチコンテナDockerアプリケーションを定義および実行するために使用できるツールです。 Composeでは、Composeファイルを使用してアプリケーションのサービスを構成します。次に、1つのコマンドを使用して、構成からすべてのサービスを作成して開始できます。
次のいずれかの方法を使用してDockerComposeをインストールできます。
方法1:
こちらから最新のDockerComposeをダウンロードします 。
これを書いている時点で、最新バージョンは 1.25.5 でした 。
次のコマンドを実行して、最新の安定したDocker作成ファイルをダウンロードします。
$ sudo curl -L "https://github.com/docker/compose/releases/download/1.25.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
新しいバージョンが利用できる場合は、上記のコマンドの番号1.25.5を新しいバージョン番号に置き換えるだけです。
最後に、次のコマンドを使用して、実行可能権限をバイナリに適用します。
$ sudo chmod +x /usr/local/bin/docker-compose
方法2:
または、 PIPを使用してDockerComposeをインストールすることもできます 。 Pipは、Pythonプログラミング言語で記述されたアプリケーションをインストールするために使用されるPythonパッケージマネージャーです。
システムにPipをインストールするには、次のガイドを参照してください。
- Pipを使用してPythonパッケージを管理する方法
pipをインストールしたら、次のコマンドを実行してdockercomposeをインストールします。次のコマンドは、すべてのLinuxディストリビューションで同じです!
$ pip install docker-compose
Docker Composeをインストールした後、次のコマンドでバージョンを確認できます:
$ docker-compose --version
以下のような出力が表示されます。
docker-compose version 1.25.5, build 8a1c60f6
おめでとう! DockerCommunityEditionとDockerComposeが正常にインストールされました。
Dockerをインストールしましたが、何ですか? Dockerの基本については、このシリーズの次の記事を確認してください。
- Dockerの使用を開始する
RHEL、Fedora、CentOS、Scientific Linux、openSUSEなどのRPMベースのシステムにDockerをインストールするには、次のリンクを確認してください。
- CentOSにDockerをインストールする
また、次のDocker電子書籍をダウンロードして使用し、Dockerについて詳しく知ることができます。
ダウンロード -無料の電子書籍:「DockerContainerizationCookbook」 ダウンロード -無料ガイド:「Dockerについて」 ダウンロード -無料ガイド:「Dockerとは何ですか?なぜそれほど人気があるのですか?」 ダウンロード -無料ガイド:「Dockerの概要」 ダウンロード -無料ガイド:「DockerinProduction」そして、今のところこれですべてです。これがお役に立てば幸いです。