CentOSインストールdocker基礎チュートリアル

5731 ワード

CentOSのアップグレード
準備:
1:開発プラットフォームツールのインストール
       yum groupinstall "Development tools"
2:カーネルアップグレードに必要な依存コンポーネントのインストール
       yum install ncurses-devel   qt-devel   hmaccalc zlib-devel binutils-devel elfutils-libelf-devel
      3: selinux LXC ,
       # vi /etc/selinux/config SELINUX=disabled
4: Fedora EPEL yum docker-io用
      # yum install epel-release.noarch
5:アップグレードlinuxカーネルソースをダウンロードして、自分でkernelバージョン(aufsモジュールを持つ必要がある)を公式にダウンロードして、自分でコンパイルすることができます.もう1つはaufsモジュール付きrpmパッケージ(http://down.51cto.com/data/1903250)ダイレクトインストール(推奨)
 
カーネルのアップグレード(直接ダウンロードRPM):
    gzip -dv kernel-ml-aufs-3.10.5-3.el6.x86_64.rpm.gz
    rpm -ivh kernel-ml-aufs-3.10.5-3.el6.x86_64.rpm
    
新しいkernelをデフォルトの起動項目に設定します.新しくインストールされたカーネルはファイルリストの1番目に設定され、0に設定されます.
    vi/etc/grub.cong
    default=0
reboot//再起動
uname-r//現在のkernelバージョンを検出し、3.10.5-3.el6.x86_64は、kernelのアップグレードに成功したことを示します.
  
dockerインストールのアイデア
1:dockerのインストール
    yum install docker-io 
  2: docker /etc/fstab cgroup
     echo "none /sys/fs/cgroup cgroup defaults 0 0" >> /etc/fstab
     mount /sys/fs/cgroup
     /sys/fs/cgroup( cgroup), ,
3:aufsモジュールがロードされているかどうかを検出する
     grep aufs /proc/filesystems
  4: docker.io( )
    docker -d
異常が発生した場合:DNS/Networking Errors inside the docker、 docker ,      # pkill docker     # iptables -t nat -F     # ifconfig docker0 down     # brctl delbr docker0     # docker -d
5:dockerが正常に動作しているかどうかを検出
docker run hello-world//デフォルトではこのミラーは存在しません.dockerがhello-worldを自動的にダウンロードするのを待っています.
メッセージが表示されるとdockerのインストールに成功しました
    
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.
    (Assuming it was not already locally available.)
 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

For more examples and ideas, visit:
 http://docs.docker.com/userguide/

 
異常エラー:
1:docker起動時にエラーを報告
Starting cgconfig service:Error:cannot mount cpuset to/cgroupset:Deviceor resource busy、(cgconfigは起動時にデフォルトで/etc/cgconfig.configの構成を読み出してCgroups階層を作成し、必要なファイルシステムをバインドしてサブシステムを関連付け、Cgroupsグループを作成し、各グループのサブシステムパラメータを設定する)解決方法:
サービスcgconfig status//正常に動作しているかどうかを確認
          vi/etc/cgconfig.conf
          mount {cpuset=/cgroup/cpuset;cpu=/cgroup/cpu;cpuacct=/cgroup/cpuacct;memory=/cgroup/memory;//注解このセグメント、すなわち、#memory=/cgroup/memory;devices=/cgroup/devices;    freezer =/cgroup/freezer;             net_cls =/cgroup/net_cls;             blkio =/cgroup/blkio;           }
サービスcgconfig start//オープンサービスの再起動
      2:Error response from daemon: Cannot start container {id}: [8] System error: write/sys/fs/cgroup/docker/{id}2a7ce2f9bc/cgroup.procs: no space left on device
処理方法(参照先:http://stackoverflow.com/questions/29961584/docker-cgroup-procs-no-space-left-on-device):    
      A simple command should do the trick.
        sudo echo 1 > /sys/fs/cgroup/docker/cgroup.clone_children

      If it still does not work, run below commands and restart docker service:
        sudo echo 0 > /sys/fs/cgroup/docker/cpuset.mems
        sudo echo 0 > /sys/fs/cgroup/docker/cpuset.cpus