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

Ubuntu18.04LTSサーバーにDockerをインストールする方法

このガイドでは、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をインストールして構成するには、システムが次の最小要件を満たしている必要があります。

  1. 64ビット LinuxまたはWindowsオペレーティングシステム;
  2. Linuxを使用している場合、カーネルのバージョンは 3.10である必要があります 以上。
  3. システムはインターネットに接続されている必要があります。

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」

そして、今のところこれですべてです。これがお役に立てば幸いです。


Ubuntu
  1. Ubuntu 22.04 /20.04LTSにDockerをインストールする方法

  2. Ubuntu18.04LTSにMinecraftサーバーをインストールする方法

  3. Ubuntu20.04LTSにDiscourseをインストールする方法

  1. Ubuntu Server18.04LTSのインストール方法

  2. Ubuntu20.04LTSサーバーをインストールする方法

  3. Ubuntu18.04LTSサーバーにDropboxをインストールする方法

  1. Ubuntu22.04LTSにWebfsサーバーをインストールする方法

  2. Ubuntu Server20.04LTSにSCシートをインストールする方法

  3. DockerにUbuntu22.04LTSコンテナをインストールする方法