GNU/Linux >> Linux の 問題 >  >> Cent OS

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

Dockerは、事実上どこでも実行できるポータブルで自給自足のコンテナーとしてアプリケーションを迅速に構築、テスト、デプロイできるようにするコンテナー化テクノロジーです。

このチュートリアルでは、CentOS7にDockerCEをインストールする方法を説明し、Dockerの基本的な概念とコマンドについて説明します。

前提条件#

このチュートリアルを進める前に、次の前提条件が満たされていることを確認してください。

  • CentOS7サーバー
  • sudo権限を持つroot以外のユーザーとしてログインしています。新しいsudoユーザーを作成する方法については、このガイドを確認してください。

CentOSにDockerをインストールする#

Dockerパッケージは公式のCentOS7リポジトリで入手できますが、常に最新バージョンであるとは限りません。推奨されるアプローチは、DockerのリポジトリからDockerをインストールすることです。

CentOS 7サーバーにDockerをインストールするには、次の手順に従います。

  1. システムパッケージを更新することから始めて、必要な依存関係をインストールします:

    sudo yum updatesudo yum install yum-utils device-mapper-persistent-data lvm2
  2. 次に、次のコマンドを実行して、Docker安定版リポジトリをシステムに追加します。

    sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  3. Dockerリポジトリが有効になったので、次のように入力して、yumを使用して最新バージョンのDocker CE(Community Edition)をインストールします。

    sudo yum install docker-ce
  4. Dockerパッケージがインストールされたら、Dockerデーモンを起動し、起動時に自動的に起動できるようにします。

    sudo systemctl start dockersudo systemctl enable docker
  5. Dockerサービスが実行されていることを確認するには、次のように入力します。

    sudo systemctl status docker

    出力は次のようになります。

    ● docker.service - Docker Application Container Engine
       Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
       Active: active (running) since Wed 2018-10-31 08:51:20 UTC; 7s ago
         Docs: https://docs.docker.com
     Main PID: 2492 (dockerd)
       CGroup: /system.slice/docker.service
               ├─2492 /usr/bin/dockerd
               └─2498 docker-containerd --config /var/run/docker/containerd/containerd.toml
  6. 執筆時点で、Dockerの現在の安定バージョンは18.06.1です。 、Dockerバージョンタイプを出力するには:

    docker -v
    Docker version 18.06.1-ce, build e68fc7a

SudoなしでDockerコマンドを実行する#

デフォルトでは、Dockerの管理には管理者権限が必要です。 sudoを付加せずに、root以外のユーザーとしてDockerコマンドを実行する場合 DockerCEパッケージのインストール中に作成されるdockerグループにユーザーを追加する必要があります。次のように入力してください:

sudo usermod -aG docker $USER

$USER ユーザー名を保持する環境変数です。

ログアウトしてから再度ログインすると、グループメンバーシップが更新されます。

Dockerが正常にインストールされ、sudoなしでdockerコマンドを実行できることを確認するには、次のコマンドを発行して、テストイメージをダウンロードし、コンテナーで実行し、「HellofromDocker」メッセージを出力して終了します。

docker container run hello-world

出力は次のようになります。

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
9bb5a5d4561a: Pull complete
Digest: sha256:f5233545e43561214ca4891fd1157e1c3c563316ed8e237750d59bde73361e77
Status: Downloaded newer image for hello-world:latest

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

Dockerコマンドラインインターフェース#

Dockerのインストールが機能するようになったので、DockerCLIの基本的な構文を見ていきましょう。

dockerコマンドラインは次の形式を取ります:

docker [option] [subcommand] [arguments]

dockerと入力すると、使用可能なすべてのコマンドを一覧表示できます。 パラメータなし:

docker

[subcommand]についてさらにサポートが必要な場合 、次のように入力します:

docker [subcommand] --help

Docker画像#

Dockerイメージは、実行可能ソフトウェアアプリケーションを構成するイメージのDockerfile内の命令を表す一連のレイヤーで構成されています。イメージは、アプリケーションと、アプリケーションの実行に必要なバイナリ、ライブラリ、命令などの他のすべての依存関係を含む不変のバイナリファイルです。つまり、Dockerイメージは基本的にDockerコンテナのスナップショットです。

Docker Hubはクラウドベースのレジストリサービスであり、他の機能の中でも特に、Dockerイメージをパブリックリポジトリまたはプライベートリポジトリに保持するために使用されます。

Docker Hubリポジトリで画像を検索するには、searchを使用するだけです。 サブコマンド。たとえば、CentOSイメージを検索するには、次のコマンドを実行します。

docker search centos

出力は次のようになります。

NAME                               DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
centos                             The official build of CentOS.                   4257                [OK]
ansible/centos7-ansible            Ansible on Centos7                              109                                     [OK]
jdeathe/centos-ssh                 CentOS-6 6.9 x86_64 / CentOS-7 7.4.1708 x86_…   94                                      [OK]
consol/centos-xfce-vnc             Centos container with "headless" VNC session…   52                                      [OK]
imagine10255/centos6-lnmp-php56    centos6-lnmp-php56                              40                                      [OK]
tutum/centos                       Simple CentOS docker image with SSH access      39

ご覧のとおり、検索結果は5列のテーブルNAMEを出力します。 、DESCRIPTIONSTARSOFFICIAL およびAUTOMATED 。公式イメージは、Dockerがアップストリームパートナーと共同で開発したイメージです。

CentOS 7の公式ビルドをダウンロードする場合は、image pullを使用してダウンロードできます。 サブコマンド:

docker image pull centos
Using default tag: latest
latest: Pulling from library/centos
469cfcc7a4b3: Pull complete
Digest: sha256:989b936d56b1ace20ddf855a301741e52abca38286382cba7f44443210e96d16
Status: Downloaded newer image for centos:latest

インターネットの速度に応じて、ダウンロードには数秒または数分かかる場合があります。画像がダウンロードされると、次のように画像を一覧表示できます:

docker image ls

出力は次のようになります。

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
hello-world         latest              e38bc07ac18e        3 weeks ago         1.85kB
centos              latest              e934aafc2206        4 weeks ago         199MB

何らかの理由で画像を削除したい場合は、image rm [image_name]を使用して削除できます。 サブコマンド:

docker image rm centos
Untagged: centos:latest
Untagged: centos@sha256:989b936d56b1ace20ddf855a301741e52abca38286382cba7f44443210e96d16
Deleted: sha256:e934aafc22064b7322c0250f1e32e5ce93b2d19b356f4537f5864bd102e8531f
Deleted: sha256:43e653f84b79ba52711b0f726ff5a7fd1162ae9df4be76ca1de8370b8bbf9bb0

Dockerコンテナ#

画像のインスタンスはコンテナと呼ばれます。コンテナは、単一のアプリケーション、プロセス、またはサービスのランタイムを表します。

これは最も適切な比較ではないかもしれませんが、プログラマーであれば、Dockerイメージをクラスとして、Dockerコンテナーをクラスのインスタンスとして考えることができます。

docker containerを使用して、コンテナーを開始、停止、削除、および管理できます。 サブコマンド。

次のコマンドは、CentoOSイメージに基づいてDockerコンテナを起動します。ローカルに画像がない場合は、最初に画像がダウンロードされます:

docker container run centos

一見、何も起こらなかったように見えるかもしれません。まあ、それは真実ではありません。 CentOSコンテナは、長時間実行されるプロセスがなく、コマンドを提供しなかったため、起動直後に停止します。そのため、コンテナは起動し、空のコマンドを実行してから終了しました。

スイッチ-it コマンドラインを介してコンテナを操作できます。インタラクティブコンテナタイプを開始するには:

docker container run -it centos /bin/bash

コンテナが起動すると出力からわかるように、コマンドプロンプトが変更されます。これは、コンテナ内から作業していることを意味します。

[root@719ef9304412 /]#

実行中のコンテナを一覧表示するには:、次のように入力します:

docker container ls
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
79ab8e16d567        centos              "/bin/bash"         22 minutes ago      Up 22 minutes                           ecstatic_ardinghelli
実行中のコンテナがない場合、出力は空になります。

実行中のコンテナと停止中のコンテナの両方を表示するには、-aを渡します。 スイッチ:

docker container ls -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                      PORTS               NAMES
79ab8e16d567        centos              "/bin/bash"              22 minutes ago      Up 22 minutes                                   ecstatic_ardinghelli
c55680af670c        centos              "/bin/bash"              30 minutes ago      Exited (0) 30 minutes ago                       modest_hawking
c6a147d1bc8a        hello-world         "/hello"                 20 hours ago        Exited (0) 20 hours ago                         sleepy_shannon

1つ以上のコンテナを削除するには、コンテナIDを上からコピーしてcontainer rmの後に貼り付けます。 サブコマンド:

docker container rm c55680af670c

Cent OS
  1. CentOS7にTensorFlowをインストールして使用する方法

  2. CentOS8にDockerをインストールする方法

  3. CentOSにDockerComposeをインストールして使用する方法

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

  2. CentOS7にDockerComposeをインストールして使用する方法

  3. CentOS8にCurlをインストールして使用する方法

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

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

  3. Dockerをインストールして使用する方法-CentOS7で作成する