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


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