Docker成長之路(一) :Docker介紹安裝

    簡介:Docker是一個開源的引擎,能夠輕鬆的爲任何應用建立一個輕量級的、可移植的、自給自足的容器。開發者在筆記本上編譯測試經過的容器能夠批量地在生產環境中部署,包括VMs(虛擬機)、bare metal、OpenStack 集羣和其餘的基礎應用平臺。
    
    Docker是一個開源的引擎,能夠輕鬆的爲任何應用建立一個輕量級的、可移植的、自給自足的容器。開發者在筆記本上編譯測試經過的容器能夠批量地在生產環境中部署,包括VMs(虛擬機)、bare metal、OpenStack 集羣和其餘的基礎應用平臺。 

    Docker一般用於以下場景:
        web應用的自動化打包和發佈;
        自動化測試和持續集成、發佈;
        在服務型環境中部署和調整數據庫或其餘的後臺應用;
        從頭編譯或者擴展示有的OpenShift或Cloud Foundry平臺來搭建本身的PaaS環境。

    Docker組成:Docker server/client
    Docker組件:鏡像(p_w_picpath)、容器(container)、倉庫(repository)

一、Docker安裝:
    1.1   Ubuntu 14.04及以上版本:
        apt-get update
        apt-get install -y docker.io
        ln -sf /usr/bin/docker.io /usr/local/bin/docker
        sed -i '$acomplete -F _docker docker' /etc/bash_completion.d/docker.io
    
    1.2   Ubuntu 14.04如下版本:
        apt-get update
        apt-get install -y linux-p_w_picpath-generic-lts-raring linux-headers-generic-lts-raring
        reboot
        apt-get update
        apt-get install -y docker.io
        ln -sf /usr/bin/docker.io /usr/local/bin/docker
        sed -i '$acomplete -F _docker docker' /etc/bash_completion.d/docker.io 
        
    1.3   CentOS 6及以上版本
        rpm -ivh  
        yum install docker-io -y
        
        對於CentOS 7系統,Exras源中已經包含內置的Docker,能夠直接yum安裝
        yum install -y docker

二、Docker基本操做
    2.1   鏡像:
        如下操做以CentOS鏡像爲例
	    查找鏡像:docker search centos
	    OFFICIAL是否爲官方   AUTOMATED是否爲自動部署          
            獲取鏡像:docker pull centos
                latest: Pulling from centos
                47d44cb6f252: Pull complete 
                8aa7f4a1dd13: Pull complete 
                e0f5867add13: Pull complete 
                eeb3a076a0be: Pull complete 
                Digest: sha256:1b9adf413b3ab95ce430c2039954bb0db0c8e2672c48182f2c5b3...
                Status: Downloaded newer p_w_picpath for centos:latest
            查看鏡像:docker p_w_picpaths
                REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
                centos              latest              eeb3a076a0be        3 weeks ago         196.7 MB
    
    2.2   容器                
            測試啓動一個容器:docker run centos /bin/echo 'Hello,Docker'
            Hello,Docker
            查看啓動的容器:docker ps -a
            CONTAINER ID        IMAGE               COMMAND                CREATED             STATUS                      PORTS               NAMES
            cf4d4e222f14        centos              "/bin/echo Hello,Doc   29 seconds ago      Exited (0) 27 seconds ago(表示已退出)                       desperate_lovelace

            提示:docker run centos,若是centos沒有這個鏡像,會先下載後啓動
            
            在後臺啓動一個容器:
                docker run -d --name mynginx -h nginx nginx 
                經過docker ps -a能夠看到   -h 指定主機名
            進入容器:
	        獲取mynginx的PID
                docker inspect --format "``.`State`.`Pid`" mynginx
	           23247
                nsenter --target 23247 --mount --uts --ipc --pid 
	    進入容器後查看進程:
        	root@692b5e7b9c32:/# ps aux
        	USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
        	root         1  0.0  0.2  31624  3024 ?        Ss   04:05   0:00 nginx: master process nginx -g daemon off;
        	nginx        9  0.0  0.1  32008  1740 ?        S    04:05   0:00 nginx: worker process
相關文章
相關標籤/搜索