Docker 是一個開源的應用容器引擎,開發者能夠打包他們的應用以及依賴包到一個可移植的容器中,發佈到任何流行的 Linux 機器上,也能夠實現虛擬化。容器是徹底使用沙箱機制,相互之間不會有任何接口。 docker設想是交付運行環境如同海運,OS如同一個貨輪,每個在OS基礎上的軟件都如同一個集裝箱,用戶能夠經過標準化手段自由組裝運行環境,同時集裝箱的內容能夠由用戶自定義,也能夠由專業人員製造。這樣,交付一個軟件,就是一系列標準化組件的集合的交付,如同樂高積木,用戶只須要選擇合適的積木組合,而且在最頂端署上本身的名字(最後個標準化組件是用戶的app)。這也就是基於docker的PaaS產品的原型。linux
Docker 使用客戶端-服務器 (C/S) 架構模式,使用遠程API來管理和建立Docker容器。Docker 容器經過 Docker 鏡像來建立。容器與鏡像的關係相似於面向對象編程中的對象與類。 Docker採用 C/S架構 Docker daemon 做爲服務端接受來自客戶的請求,並處理這些請求(建立、運行、分發容器)。 客戶端和服務端既能夠運行在一個機器上,也可經過 socket 或者RESTful API 來進行通訊。 Docker daemon 通常在宿主主機後臺運行,等待接收來自客戶端的消息。 Docker 客戶端則爲用戶提供一系列可執行命令,用戶用這些命令實現跟 Docker daemon 交互。docker
Docker是基於Linux 64bit的,沒法在32bit的linux/Windows/unix環境下使用 Docker只能虛擬基於Linux的服務編程
安裝docker:apt-get install docker.io 查看docker的版本信息:docker version 查看安裝docker的信息:docker info 查看本機Docker中存在哪些鏡像: docker images 檢索image $ docker search ubuntu:14.04ubuntu
$ docker pull ubuntu:14.04bash
$ docker history birdben/ubuntu:v1服務器
$ docker diff birdben/ubuntu:v1架構
$ docker logs birdben/ubuntu:v1app
$ docker top birdben/ubuntu:v1ssh
$ docker cp ID:/container_path to_pathsocket
$ docker ps
$ docker ps -a
$ docker ps -l
$ docker inspect $CONTAINER_ID
$ docker inspect --format='{{.NetworkSettings.IPAddress}}' $CONTAINER_ID
$ docker commit -m "Added ssh from ubuntu14.04" -a "birdben" 6s56d43f627f3 birdben/ubuntu:v1
$ docker build -t="birdben/ubuntu:v1" .
$ docker run <相關參數> <鏡像 ID> <初始命令>
$ docker run -it ubuntu:14.04
$ docker run -it ubuntu:14.04 /bin/bash
$ docker run -p 80:80 birdben/ubuntu:v1
$ sudo docker run -d -p 10.211.55.4:9999:22 birdben/ubuntu:v1 '/usr/sbin/sshd' -D
$ docker start 117843ade696117843ade696
$ docker stop 117843ade696117843ade696
$ docker restart 117843ade696117843ade696
$ docker rm 117843ade696117843ade696
$ docker rmi ed9c93747fe1Deleted
$ docker login
$ docker push birdben/ubuntu:v1 當利用 docker run 來建立容器時,Docker 在後臺運行的標準操做包括:
檢查本地是否存在指定的鏡像,不存在就從公有倉庫下載 利用鏡像建立並啓動一個容器 分配一個文件系統,並在只讀的鏡像層外面掛載一層可讀寫層 從宿主主機配置的網橋接口中橋接一個虛擬接口到容器中去 從地址池配置一個 ip 地址給容器 執行用戶指定的應用程序 執行完畢後容器被終止 參考文章:http://blog.csdn.net/birdben/article/details/49873725