現在位置: ホーム / Red Hat Ch. / Red Hat Blog / Red Hat Enterprise LinuxでのDocker利用方法

Red Hat Enterprise LinuxでのDocker利用方法

本記事では、近年注目を集めているDockerについてご紹介しております。

Red Hat Enterprise Linux 7(RHEL7)より追加され、注目を集めているコンテナー技術を使用したソフトウェア「Docker」、サイオスではそもそもDockerとは?からRHEL上でDockerを利用するまでをまとめました。

Dockerって何?

  • Docker社が開発したコンテナー技術を使用した仮想化ソフトウェアで、数多くのプラットホームで動作しており、libcontainerとよばれる管理の仕組みを利用してRHEL7では利用可能です。
  • 新しい仮想化技術ということもあり、多くの企業が自社製品でDocker対応を表明していますね。(対応情報などの掲載は省略します)

Dockerの優れていると思われる点

  • 優れていると考えられている点を幾つか並べてみました。

    • 他の仮想技術と比較して軽量で処理速度が早い
    • 通常のLinuxOSと違い、ホスト環境上では、1プロセスとして稼働するように変更されています。
    • Dockerが動く環境であれば、物理/仮想環境に関係なく、容易にデプロイ可能
  • 作成した構成情報を元にすることで、環境構築が容易にできる

    • 開発環境用途しての、webアプリケーションの開発環境構築に適していると考えます。
    • 検証環境用途しての構築が簡単にできると考えます。

今後、追加して欲しい機能

  • NAT以外でのDockerコンテナへのアクセス方法が欲しいですね。つまり、ホストのネットワークデバイスを直接利用出来るようなインターフェース機能が欲しいと思っています。
  • 現状、起動したコンテナは、NATで区切られたネットワーク上で動作していますが、数名以上での開発基盤としての利用に制限があるように感じます。例を揚げ出したらキリがないのでが、、、
    • NATで先で動作しているコンテナにリモートログインするのに2回以上のsshコマンドを実行することで、動作しているコンテナ環境にログインするできますが、これってスマートじゃないですよね。
    • NAT先で複数のコンテナが動作しており、各コンテナでwebサービスを運用している場合のアクセス方法ってどうすればアクセスできるのか?
  • など、容易に想像できるのですが、これらは先ほど上げたネットワークデバイスを直接利用できる様になれば解決できる問題と思っています。

RHELで利用するには?

  • 今回は、Dockerのパッケージをインストールし、コンテナイメージが起動できるところまでご説明します。

Extrasチャンネルの有効化

  • Subscription Managerを使いExtrasチャンネルを有効にすることで、Dockerのパッケージをインストール出来るようになります。
# subscription-manager repos --enable=rhel-7-server-extras-rpms # subscription-manager repos --enable=rhel-7-server-optional-rpms 

パッケージのインストール

  • yum コマンドを使用して、パッケージをインストールします。 # yum install docker docker-registry -y

サービスの開始/サービスの有効

  • systemctlコマンドを使用して、docker.service の開始と有効を行います。
# systemctl start docker.service # systemctl enable docker.service 

イメージの取得

  • pullオプションを使用して、Docker 公式レジストリから コンテナイメージを取得します。今回は、Fedora20を取得してます。
# docker pull fedora:20 Trying to pull repository registry.access.redhat.com/fedora ... not found 20: Pulling from docker.io/fedora eb8e83ebb17d: Pull complete d7f0e75cf11f: Already exists docker.io/fedora:20: The image you are pulling has been verified. Important: image verification is a tech preview feature and should not be relied on to provide security. Digest: sha256:606cd0a9e5034642f5c9628f85d8c9011dabaf065ca31ee7d630666853b560c5 Status: Downloaded newer image for docker.io/fedora:20 

取得したイメージの確認

  • imageオプションを使用して、正しくイメージが取得できたか確認します。
# docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE docker.io/fedora 20 d7f0e75cf11f 5 weeks ago 360.3 MB 

イメージの起動

  • runオプションを使って起動します。
# docker run –i –t fedora /bin/bash 

起動したイメージの確認 その1

  • 起動したイメージがFedora20であるか確認するために、issueファイルの内容を確認します。
[root@ce67d1a2e9a3 /]# cat /etc/issue Fedora release 20 (Heisenbug) Kernel \r on an \m (\l) 
  • この状態で、コンテナイメージは動作している事になります。あまり実感が無いかもしれませんが。

起動したイメージの確認 その2

  • 起動したイメージが、ホストで使用しているKernelと同じであることを確認します。
  • 通常の仮想環境上でFedora20を動作させた場合のunameの結果は、3.15系のkernelを利用しているバージョンが表示されますが、コンテナイメージの場合は、ホストで動作しているkernelのバージョンが表示されます。
[root@ce67d1a2e9a3 ~]# uname -a Linux ce67d1a2e9a3 3.10.0-229.4.2.el7.x86_64 #1 SMP Fri Apr 24 15:26:38 EDT 2015 x86_64 x86_64 x86_64 GNU/Linux [root@ce67d1a2e9a3 ~]# 
  • 次回は、Docker の build オプションを使ったコンテナの作成について触れたいと思います。
お問い合わせ

問い合わせボタン

RHEL サポート

最近の更新
Automation with Ansibleコース(DO407 :4日間)のご紹介 2017年04月26日
RHELで新しいgitやPython3を使うには? 2017年03月29日
AnsibleとRed Hat Identity Managementを併用すると便利 2017年02月28日
Red Hat Satellite 6でerrataを適用してみる 2016年11月28日
VMware環境上でのRed Hat Enterprise Linux 7.2以前から7.3へアップデート時の注意点と、その解説 2016年11月24日
RHEL4の延長サポートおよびRHEL5の通常サポート終了 2016年10月17日
Red Hat Enterprise Linuxの互換性維持 2016年08月31日
RED HAT FORUM 2016 Tokyo The power of participation -アイデアとテクノロジーが生むオープンイノベーションの破壊力- 2016年08月12日
Red Hat Network ClassicからRed Hat Subscription Managementへ移行のおねがい 2016年07月27日
ABRTで障害時の情報収集とレポートを自動化しよう 2016年06月03日
Red Hat Enterprise Linux 7、使ってますか? 2016年04月27日
Red Hat Developer Programに参加して開発者用サブスクリプションを入手しよう 2016年04月01日
Relax and Recoverでのシステム回復 2016年03月08日
Red Hat Insightsとは 2015年11月13日
Red Hat Enterprise Linuxを仮想化環境で動作させる時の注意点 2015年10月05日
RHEL7でpingをreniceしようとすると失敗する話 2015年08月31日
Red Hat Satellite使いはじめガイド 2015年08月20日
ELS? EUS? RHELの延長サポート製品について知ろう 2015年08月13日
Performance Co-Pilotでパフォーマンス測定を簡単にしよう 2015年08月06日
Red Hat Enterprise Linuxでの独自コンテナイメージの作成 2015年07月29日