天天看點

阿裡雲ECS伺服器安裝docker

一、為什麼要使用Docker?

理由很簡單,用了的人都說好用。在多系統的分布式項目中,往往傳統的部署發包等操作,那是讓每個上線的程式員恨的牙癢呀。通常都是通宵奮戰,上生産解決各種部署發包問題。

個人簡單總結一下三點:

1.部署簡單且靈活,有獨立的運作環境,避免了不必要的沖突。

2.節省了資源開銷

3.類似于java, 打包一次各處部署運作。項目遷移靈活便捷。

二、什麼是docker呢?

在講之前,先來說說什麼時容器?什麼時虛拟機?

看下圖:

阿裡雲ECS伺服器安裝docker

簡單解釋一下,圖左為容器,圖右為虛拟機。

Docker 屬于 Linux 容器的一種封裝,提供簡單易用的容器使用接口。它是目前最流行的 Linux 容器解決方案。

兩圖比較,我們可以看到在容器中是由docker配置設定給項目獨立的虛拟資源,項目運作是與底層系統隔離開來的。但虛拟機中可以看到項目運作是直接配置設定資源與底層系統互動。顯然,如果App2不工作了,對于容器來說系統資源會運用在App1和3上。而對于VM,由于資源已經配置設定出去,是以就會出現使用率不高情況。

差別:

特性 容器 虛拟機
啟動 秒級 分鐘級
硬碟使用 一般為MB 一般為GB
性能 接近原生 弱于
系統支援量 單機支援上千個容器 一般是幾十個

docker架構圖:

阿裡雲ECS伺服器安裝docker

解釋:

Client:

docker client: 用戶端提供操作指令給使用者,用以連接配接服務端操作docker。

docker Machine:是一個簡化Docker安裝的指令行工具,通過一個簡單的指令行即可在相應的平台上安裝Docker,比如VirtualBox、 Digital Ocean、Microsoft Azure。

Hosts:

container:一個獨立運作的容器,每個容器之間沒半毛錢關系,也不影響對方。

registers:

image:是一個鏡像檔案,host主機從遠端倉庫拉去image鏡像後,可以建立container容器,然後執行運作容器。

簡單來講,docker先安裝到本機後,通過docker用戶端操作指令,拉去遠端docker倉庫中已經打包好的項目鏡像檔案到本地。然後通過指令操作鏡像建立容器,最後啟動容器完成部署。

詳細關于鏡像的問題可以參考_:_

Docker _鏡像_基本操作 - 容器_鏡像_服務

三、安裝docker

說了這麼多,不如安裝後實際操作一把,就什麼都知道啦~

安裝環境:

centos7

安裝指令:

yum install docker

設定開機自動啟動:

service docker start

檢視版本:

docker version

阿裡雲ECS伺服器安裝docker

修改docker倉庫位址:

指令:

vi /etc/docker/daemon.json

内容:

{ “registry-mirrors”: “

https://registry.docker-cn.com

”, “live-restore”: true }

四、簡單的實踐-部署ActiveMq

1.拉取mq鏡像

指令:docker pull rabbitmq:management

2.運作啟動

指令:docker run -d -p 5672:5672 -p 15672:15672 --name rabbitmq rabbitmq:management

3.通路管理界面的位址

就是

http://[

主控端IP]:15672,可以使用預設的賬戶登入,使用者名和密碼都guest

五、Docker操作指令

$ docker ps // 檢視所有正在運作容器

$ docker stop containerId // containerId 是容器的ID

$ docker ps -a // 檢視所有容器

$ docker ps -a -q // 檢視所有容器ID

$ docker stop (docker ps -a -q) // stop停止所有容器 docker rm $(docker ps -a -q) // remove删除所有容器