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)

1、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

2、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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章