Centos 7 dockerのインストールと操作の例

14116 ワード

Centos 7 dockerインストールの例


dockerのインストール

yum install docker

国内ミラーソースの設定(高速化)


国内加速源:https://www.daocloud.io/mirror.html#accelerator-doc
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://0fc8f023.m.daocloud.io

dockerミラーのダウンロード

  • ミラーの検索
  • docker search centos
    [root@cloud CentOS-YUM]# docker search centos
    INDEX       NAME                                             DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
    docker.io   docker.io/centos                                 The official build of CentOS.                   2987      [OK]       
    docker.io   docker.io/jdeathe/centos-ssh                     CentOS-6 6.8 x86_64 / CentOS-7 7.3.1611 x8...   55                   [OK]
    docker.io   docker.io/nimmis/java-centos                     This is docker images of CentOS 7 with dif...   20                   [OK]
    docker.io   docker.io/consol/centos-xfce-vnc                 Centos container with "headless" VNC sessi...   18                   [OK]
    docker.io   docker.io/million12/centos-supervisor            Base CentOS-7 with supervisord launcher, h...   12                   [OK]
    docker.io   docker.io/torusware/speedus-centos               Always updated official CentOS docker imag...   8           
  • ダウンロードミラー
  • docker pull centos:6 #  centos6
  • ミラーの表示
  • docker images  #    

    スターティングコンテナ

  • コンテナインスタンス
  • を作成する
    [root@cloud ~]# docker images
    REPOSITORY                    TAG                 IMAGE ID            CREATED             SIZE
    ssh-centos6                   latest              670e6db182f5        5 days ago          497.1 MB
    docker.io/centos              latest              67591570dd29        3 weeks ago         191.8 MB
    docker.io/centos              6                   8315978ceaaa        9 weeks ago         194.6 MB
    [root@cloud ~]# docker run -i -t --name=centos10  ssh-centos6  /bin/bash     #   ssh-centos6    ,     centos10
    [root@e308c0493046 /]# 

    dockerコマンド

    #         
    docker ps 
    
    #       
    docker ps -a
    
    #     
     Ctrl+D         【         】
    
    #        :
       :Ctrl+P+Q
    
    #     
    docker start     ID
    
    #     
    docker attach     ID
    
    #     
    docker start     ID
    
    #       --  
    docker stop $(docker ps -q) & docker rm $(docker ps -aq)
    
    #    ,    
    docker commit   ID     
    

    docker構成


    コンテナリソースの制限

    # CPU  0-3  4   ,  1G ,--net=none     (     pipework    )
    docker run -itd --net=none --name=centos07 --cpuset-cpus="0-3"  -m 1024M --memory-reservation 1024M centos6-132.97.8.7-170106_2 /bin/bash

    ストレージディレクトリの変更

    #  docker    
    rsync -aXS /var/lib/docker/. /home/docker
    
    #   docker       
    ln -s  /home/docker  /var/lib/docker

    ストレージ・サイズの設定

    # ubuntu /etc/default/docker
    # centos /etc/sysconfig/docker-storage
    cat /etc/sysconfig/docker-storage
    
    DOCKER_STORAGE_OPTIONS="--storage-opt dm.loopdatasize=2000G --storage-opt dm.loopmetadatasize=10G --storage-opt dm.fs=ext4 --storage-opt dm.basesize=20G"
    
    #dm.loopdatasize=2000G             2t,   100g
    #dm.loopmetadatasize=10G   Metadata     10g,   2g
    #dm.fs=ext4         ext4
    #dm.basesize=20G          20g,   10g

    dockerブリッジモード


    linuxブリッジネットワーク構成

    [root@localhost ~]# cd /etc/sysconfig/network-scripts/
    [root@localhost network-scripts]# cp ifcfg-eth0 ifcfg-br0
    [root@localhost network-scripts]# vi ifcfg-eth0
    
    //    
    DEVICE=eth0
    HWADDR=00:0C:29:06:A2:35
    TYPE=Ethernet
    UUID=34b706cc-aa46-4be3-91fc-d1f48c301f23
    ONBOOT=yes
    BRIDGE=br0
    NM_CONTROLLED=yes
    BOOTPROTO=static
    
    [root@localhost network-scripts]# vi ifcfg-br0
    
    //    
    DEVICE=br0
    TYPE=Bridge
    ONBOOT=yes
    BOOTPROTO=static
    IPADDR=192.168.216.131
    NETMASK=255.255.255.0
    GATEWAY=192.168.216.2
    DNS=8.8.8.8
    
  • NIC
  • を再起動
    service network restart

    起動パラメータの設定

    # centos  /etc/sysconfig/docker
    #               
    # https://docs.docker.com/installation/#installation
    vi /etc/sysconfig/docker # OPTIONS='--selinux-enabled'      OPTIONS='--selinux-enabled -b=br0'  docker       br0      

    pipeworkのインストール

    git clone https://github.com/jpetazzo/pipework
    cp ~/pipework/pipework /usr/local/bin/

    手動でネットワークを設定するコンテナの起動

    docker run -itd --net=none --name=centos06 --cpuset-cpus="0-3"  -m 1024M --memory-reservation 1024M ssh-centos6 /bin/bash

    pipeworkを使用してIPを設定する

    pipework br0 centos06 132.97.8.6/24@132.97.8.1

    入ってdocker IPを見ます

    docker attach centos06
    ifconfig
    service sshd restart #  ssh

    docker起動スクリプト

    vi docker_start.sh
    #! /bin/bash
    # chkconfig: 2345 10 90
    # description: docker 
    
    service docker start
    docker start centos06
    docker start centos07
    pipework br0 centos06 132.97.8.6/24@132.97.8.1
    pipework br0 centos07 132.97.8.7/24@132.97.8.1
    docker exec -i  centos06 service sshd restart
    docker exec -i  centos07 service sshd restart
    1、      /etc/rc.d/init.d   
    mv  /home/xy/docker_start.sh /etc/rc.d/init.d
    
    2、          
    chmod +x  /etc/rc.d/init.d/docker_start.sh
    
    3、              
    cd /etc/rc.d/init.d
    chkconfig --add docker_start.sh
    chkconfig docker_start.sh on

    その他の資料

    # 5    Docker!
    http://www.csdn.net/article/2014-07-02/2820497-what%27s-docker
    
    # docker    ,    
    http://blog.csdn.net/wuzhilon88/article/details/41621285/