1、Docker之旅

剛剛接觸到docker的同事可能會一頭霧水,docker究竟是一個什麼東西,先看看官方的定義。html

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

根據官方的定義,我理解就是Docker最終目的就是創建一個輕量化的容器,而且容器是能夠定製,經過Docker來啓動定製容器。linux

一、安裝

  • 查看docker的安裝位置
    [root@IDC-D-1699 docker]# whereis docker    
    docker: /usr/bin/docker /etc/docker /usr/local/bin/docker /usr/libexec/docker /usr/share/man/man1/docker.1.gz
  • 內核升級成功後下載1.9.1的版本,
    curl -sSL -O https://get.docker.com/builds/Linux/x86_64/docker-1.9.1。 
  • 替換原有的docker   
    cp docker-1.9.1 /usr/local/bin/docker   
  • 啓動並查看docker版本
    [root@IDC-D-1699 docker]# service docker start 
    Starting docker:                                       [肯定] 
    [root@IDC-D-1699 docker]# docker version 
    Client: 
    Version:      1.9.1 
    API version:  1.21 
    Go version:   go1.4.3 
    Git commit:   a34a1d5 
    Built:        Fri Nov 20 17:56:04 UTC 2015 
    OS/Arch:      linux/amd64 Server: 
    Version:      1.9.1 
    API version:  1.21 
    Go version:   go1.4.3 
    Git commit:   a34a1d5 
    Built:        Fri Nov 20 17:56:04 UTC 2015 
    OS/Arch:      linux/amd64
  • 使用加速器
    curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://e39eb134.m.daocloud.io
    [root@IDC-D-1699 docker]# curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://e39eb134.m.daocloud.io 
    Success.
    You need to restart docker to take effect : sudo service docker restart

二、Docker命令

     要想熟練的使用docker掌握好命令是第一前提。docker

分類 命令
環境信息 info,version
容器生命週期管理 create,exec,kill,pause,restart,rm,run,start,stop,unpause
鏡像倉庫命令 login,logout,pull,push,search
鏡像管理 build,image,import,load,rmi,save,tag,commit
容器運維操做 attach,export,inspect,port,ps,rename,stats,top,wait,cp,diff
系統日誌信息 events,history,logs

2.1 環境信息

      docker info 用於檢測Docker是否正確安裝,若是正確安裝會輸出Docker環境信息。shell

[root@IDC-D-1699 ~]# docker info
Containers: 1
Images: 22
Storage Driver: devicemapper
 Pool Name: docker-104:3-1313361-pool
 Pool Blocksize: 65.54 kB
 Backing Filesystem: extfs
 Data file: /dev/loop0
 Metadata file: /dev/loop1
 Data Space Used: 953 MB
 Data Space Total: 107.4 GB
 Data Space Available: 106.4 GB
 Metadata Space Used: 1.884 MB
 Metadata Space Total: 2.147 GB
 Metadata Space Available: 2.146 GB
 Udev Sync Supported: true
 Deferred Removal Enabled: false
 Data loop file: /var/lib/docker/devicemapper/devicemapper/data
 Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
 Library Version: 1.02.117-RHEL6 (2016-04-01)
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 2.6.32-642.el6.x86_64
Operating System: <unknown>
CPUs: 4
Total Memory: 3.738 GiB
Name: IDC-D-1699
ID: RSDT:BELZ:DD36:AFSX:FDO7:ESFG:JYQA:ID5P:ENAK:YQGQ:5RMC:OBXN

Docker info 和 Docker version並無額外的操做參數。json

2.2 docker run

docker run 是核心命令之一,在使用docker時執行最多的命令,具體瞭解別忘了 docker run --help。app

2.2.1 命令格式
docker run [options] image [commond] [arg…]

-d 後臺模式運行,若是沒有-d這個參數容器進入前臺模式運維

-i 使用交互模式,始終保持輸入流開放curl

-t 分配一個僞終端,通常兩個參數合起來使用-it,便可在容器中利用打開的僞終端進行交互操做。oop

--name 指定容器啓動的名稱。

-c 選項給運行在容器中全部進程分配CPU的share值

三、搜索可用鏡像

     目前國內比較好的daocloud.com鏡像站,功能仍是比較強大,支持部署應用。

相關文章
相關標籤/搜索