Docker 是一個開源的應用容器引擎,基於 Go 語言 並聽從Apache2.0協議開源。docker
Docker 可讓開發者打包他們的應用以及依賴包到一個輕量級、可移植的容器中,而後發佈到任何流行的 Linux 機器上,也能夠實現虛擬化。數據庫
容器是徹底使用沙箱機制,相互之間不會有任何接口,更重要的是容器性能開銷極低。json
Docker的應用場景vim
Docker 的優勢
一、簡化程序:
Docker 讓開發者能夠打包他們的應用以及依賴包到一個可移植的容器中,而後發佈到任何流行的 Linux 機器上,即可以實現虛擬化。Docker改變了虛擬化的方式,使開發者能夠直接將本身的成果放入Docker中進行管理。方便快捷已是 Docker的最大優點,過去須要用數天乃至數週的 任務,在Docker容器的處理下,只須要數秒就能完成。oop
二、避免選擇恐懼症:
若是你有選擇恐懼症,仍是資深患者。Docker 幫你 打包你的糾結!好比 Docker 鏡像;Docker 鏡像中包含了運行環境和配置,因此 Docker 能夠簡化部署多種應用實例工做。好比 Web 應用、後臺應用、數據庫應用、大數據應用好比 Hadoop 集羣、消息隊列等等均可以打包成一個鏡像部署。性能
三、節省開支:
一方面,雲計算時代到來,使開發者沒必要爲了追求效果而配置高額的硬件,Docker 改變了高性能必然高價格的思惟定勢。Docker 與雲的結合,讓雲空間獲得更充分的利用。不只解決了硬件管理的問題,也改變了虛擬化的方式。測試
安裝Docker環境並啓動第一個docker容器(使用的是Ubuntu環境)大數據
apt-get update # 安裝最新版本 wget -qO- https://get.docker.com/ | sh # 啓動docker服務 service docker start # 指定運行的鏡像,docker首先從本地主機查找鏡像是否存在,若是不存在,從鏡像倉庫下載公共鏡像 docker run hello-world
修改鏡像的資源及開啓虛擬內存限制雲計算
# 鏡像加速 # vim /etc/docker/daemon.json 沒有就建立一個,添加內容: { "registry-mirrors": ["http://hub-mirror.c.163.com"] } # 修改配置支持swap限制 vim /etc/default/grub # 添加配置 GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1" # 更新grub後重啓系統 update-grub reboot