1. 程式人生 > >docker安裝與測試 及 安裝docker compose

docker安裝與測試 及 安裝docker compose

reference text use 部分 命令 都是 令行 uri fan

技術分享圖片Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然後發布到任何流行的Linux機器上,也可以實現虛擬化,容器是完全使用沙箱機制,相互之間不會有任何接口。

說下我的理解吧,docker和Java有點類似的地方,我不是說都是編程語言,是指思想,都存在面向對象思想,繼承等。也都有裝箱和拆箱機制,口號也都是一次BB到處運行。不過Java的一次BB到處運行是指在有jvm環境下才能實現。再說下docker docker作為一款強大到BOOM的容器docker實現了一次BB到處運行,你可以利用docker下載你需要的鏡像包,然後再docker提供的api裏進行操作。差不多就是安裝包模式下的虛擬機,一個服務一個虛擬機而速度又非常的快。Docker 使用的分層存儲以及鏡像的技術,使得應用重復部分的復用更為容易,也使得應用的維護更新更加簡單,基於基礎鏡像進一步擴展鏡像也變得非常簡單。此外,Docker 團隊同各個開源項目團隊一起維護了一大批高質量的 官方鏡像,既可以直接在生產環境使用,又可以作為基礎進一步定制,大大的降低了應用服務的鏡像制作成本。

理解docker

鏡像(Image)
容器(Container)
倉庫(Repository)

標題說明
鏡像(Images) Docker 鏡像是用於創建 Docker 容器的模板。
容器(Container) 容器是獨立運行的一個或一組應用。
客戶端(Client) Docker 客戶端通過命令行或者其他工具使用 Docker API (https://docs.docker.com/reference/api/docker_remote_api) 與 Docker 的守護進程通信。
主機(Host) 一個物理或者虛擬的機器用於執行 Docker 守護進程和容器。
倉庫(Registry) Docker 倉庫用來保存鏡像,可以理解為代碼控制中的代碼倉庫。Docker Hub(https://hub.docker.com) 提供了龐大的鏡像集合供使用。
Docker Machine Docker Machine是一個簡化Docker安裝的命令行工具,通過一個簡單的命令行即可在相應的平臺上安裝Docker,比如VirtualBox、 Digital Ocean、Microsoft Azure。

docker 架構

技術分享圖片

下面說下docker安裝

大多以centos安裝,但我虛擬機裝的是Ubuntu 16.04

root命令下:

apt-get update
apt-get -y install apt-transport-https ca-certificates curl software-properties-common

安裝 GPG 證書

curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

寫入軟件源信息

add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
 apt-get -y update
apt-get -y install docker-ce

啟動docker ce

systemctl enable docker    
systemctl start docker

你也可以不按上面的步驟下載docker,可以使用下面腳本安裝 會提示有風險 等個20seconds即可

curl -fsSL get.docker.com -o get-docker.sh
sh get-docker.sh --mirror Aliyun

記得上面的命令是ROOT下進行的 否則每條都要sudo 很麻煩

然後國內還要添加一下加速器 也就是換鏡像 改成國內鏡像倉庫

sudo vim /etc/docker/daemon.json

添加下面內容

{
 "registry-mirrors": ["https://registry.docker-cn.com"]
}

或者用阿裏的 https://cr.console.aliyun.com/#/accelerator 註冊一個即可

覺得麻煩就改配置吧。

然後最好建立用戶組

sudo groupadd docker
//添加你到docker組下
sudo usermod -aG docker $USER

測試docker是否安裝

docker run hello-world

如果提示沒權限的話 就su 在測試

查看docker版本

docker version

技術分享圖片

2.強烈推薦安裝docker-compose 如果下了docker不下docker-compose那就約等於沒用docker ,因為docker-compose真的太好用了。

它使用yml配置來啟動docker容器 包括volume ports container-name services等各種需要你註意的地方。有了docker-compose 你就可以在一個配置文件默認叫docker-compose.yml配置。這裏講安裝不講使用。初學的話老實點把原始docker命令過一遍。

從 官方 GitHub Release 處直接下載編譯好的二進制文件即可。

sudo curl -L https://github.com/docker/compose/releases/download/1.17.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

修改文件為可啟動模式

sudo chmod +x /usr/local/bin/docker-compose

查看docker-compose版本

docker-compose --version

技術分享圖片

有點老,後人看見了換成官網上新點的吧

add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

docker安裝與測試 及 安裝docker compose