Docker 的優點 1、簡化程式: Docker 讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然後發佈到任何流行的 Linux 機器上,便可以實現虛擬化。Docker改變了虛擬化的方式,使開發者可以直接將自己的成果放入Docker中進行管理。方便快捷已經是 Docker的最大優勢,過 ...
Docker 的優點
1、簡化程式:
Docker 讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然後發佈到任何流行的 Linux 機器上,便可以實現虛擬化。Docker改變了虛擬化的方式,使開發者可以直接將自己的成果放入Docker中進行管理。方便快捷已經是 Docker的最大優勢,過去需要用數天乃至數周的 任務,在Docker容器的處理下,只需要數秒就能完成。
2、避免選擇恐懼症:
如果你有選擇恐懼症,還是資深患者。那麼你可以使用 Docker 打包你的糾結!比如 Docker 鏡像;Docker 鏡像中包含了運行環境和配置,所以 Docker 可以簡化部署多種應用實例工作。比如 Web 應用、後臺應用、資料庫應用、大數據應用比如 Hadoop 集群、消息隊列等等都可以打包成一個鏡像部署。
3、節省開支:
一方面,雲計算時代到來,使開發者不必為了追求效果而配置高額的硬體,Docker 改變了高性能必然高價格的思維定勢。Docker 與雲的結合,讓雲空間得到更充分的利用。不僅解決了硬體管理的問題,也改變了虛擬化的方式。
Docker 是什麼?
Docker 屬於 Linux 容器的一種封裝,提供簡單易用的容器使用介面。它是目前最流行的 Linux 容器解決方案。
Docker 將應用程式與該程式的依賴,打包在一個文件裡面。運行這個文件,就會生成一個虛擬容器。程式在這個虛擬容器里運行,就好像在真實的物理機上運行一樣。有了 Docker,就不用擔心環境問題。
總體來說,Docker 的介面相當簡單,用戶可以方便地創建和使用容器,把自己的應用放入容器。容器還可以進行版本管理、複製、分享、修改,就像管理普通的代碼一樣。
Docker 的用途
Docker 的主要用途,目前有三大類。
(1)提供一次性的環境。比如,本地測試他人的軟體、持續集成的時候提供單元測試和構建的環境。
(2)提供彈性的雲服務。因為 Docker 容器可以隨開隨關,很適合動態擴容和縮容。
(3)組建微服務架構。通過多個容器,一臺機器可以跑多個服務,因此在本機就可以模擬出微服務架構。
Docker安裝
建議在linux環境下安裝Docker,window環境搭建比較複雜且容易出錯,使用Centos7+yum來安裝Docker環境很方便。
Docker 軟體包已經包括在預設的 CentOS-Extras 軟體源里。因此想要安裝 docker,只需要運行下麵的 yum 命令:
yum install docker
安裝完成後,使用下麵的命令來啟動 docker 服務,並將其設置為開機啟動:
service docker start
chkconfig docker on
或(CentOS 7中支持的新式 systemd 語法)
systemctl start docker.service
systemctl enable docker.service
測試
docker version
輸入上述命令,返回docker的版本相關信息,證明docker安裝成功。
Docker鏡像加速器
Docker 中國官方鏡像加速可通過registry.docker-cn.com訪問。該鏡像庫只包含流行的公有鏡像,私有鏡像仍需要從美國鏡像庫中拉取。
修改系統中docker對應的配置文件即可,如下:
vi /etc/docker/daemon.json
添加後
{
"registry-mirrors": ["https://registry.docker-cn.com"],
"live-restore": true
}
運行下麵的命令,將 image 文件從倉庫抓取到本地。
docker pull library/hello-world
上面代碼中,docker image pull是抓取 image 文件的命令。library/hello-world是 image 文件在倉庫裡面的位置,其中library是 image 文件所在的組,hello-world是 image 文件的名字。
抓取成功以後,就可以在本機看到這個 image 文件了。
docker images
顯示結果
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/hello-world latest f2a91732366c 3 months ago 1.848 kB
運行這個 image 文件的命令:docker run hello-world
常用命令
拉取docker鏡像
docker pull image_name
查看宿主機上的鏡像,Docker鏡像保存在/var/lib/docker目錄下:
docker images
刪除鏡像
docker rmi docker.io/tomcat:7.0.77-jre7 或者 docker rmi b39c68b7af30
查看當前有哪些容器正在運行
docker ps
查看所有容器
docker ps -a
啟動、停止、重啟容器命令:
docker start container_name/container_id
docker stop container_name/container_id
docker restart container_name/container_id
後臺啟動一個容器後,如果想進入到這個容器,可以使用attach命令:
docker attach container_name/container_id
刪除容器的命令:
docker rm container_name/container_id
查看當前系統Docker信息
docker info
查看鏡像、容器、數據捲所占用的空間:
docker system df
從Docker hub上下載某個鏡像:
docker pull centos:latest
docker pull centos:latest
執行docker pull centos會將Centos這個倉庫下麵的所有鏡像下載到本地repository。