什么是Docker
開源
誕生于2013年初题诵,基于Go語言的開源項(xiàng)目渣淳。
容器(沙盒)
基于Liunx的容器技術(shù),Docker進(jìn)一步優(yōu)化容器肥印。 讓應(yīng)用運(yùn)行在容器中识椰,不同的容器互相隔離又可以建立通信機(jī)制。 容器自身對(duì)自由的要求很低深碱,遠(yuǎn)低于以往的虛擬機(jī)裤唠。
核心概念
- 鏡像(Image)
- 容器(Container)
- 倉庫(Repository)
鏡像(Image)
類似虛擬機(jī)的鏡像,鏡像是創(chuàng)建Docker容器的基礎(chǔ)莹痢,用戶可以從倉庫下載一個(gè)已經(jīng)做好的應(yīng)用鏡像。 例如一個(gè)鏡像包含了完整的Ubuntu操作系統(tǒng)墓赴,可以叫做Ubuntu鏡像竞膳。
注意鏡像是只讀的
容器(Container)
容器類似于一個(gè)沙箱,Docker 利用容器來運(yùn)行和隔離應(yīng)用诫硕√贡伲可以理解成一個(gè)集裝箱。
倉庫(Repository)
倉庫類似于我們存放代碼的倉庫章办,就是Docker幾種存放鏡像的場所锉走。
官方倉庫:Docker store滨彻。也可以自己搭建私人倉庫,例如Harbor挪蹭。
Docker 安裝
https://docs.docker.com/engine/installation/
Docker 分兩大版本 社區(qū)版Community Edition(CE)和企業(yè)版Enterprise Edition(EE)亭饵。
CE版本還分穩(wěn)定版和每月發(fā)型版本。 穩(wěn)定版每季度發(fā)型一版梁厉。
關(guān)于版本號(hào)辜羊,以前版本例如v1.12 。現(xiàn)在版本直接以發(fā)型月份命名词顾,例如v17.09
常用指令
以下以CentOS 系統(tǒng)為例
啟動(dòng)docker 服務(wù)
$ sudo systemctl start docker
關(guān)閉docker服務(wù)
$ sudo systemctl stop docker
重啟docker服務(wù)
$ sudo systemctl restart docker
查看docker運(yùn)行狀態(tài)
$ sudo systemctl status docker
開機(jī)自動(dòng)啟動(dòng)docker服務(wù)
$ sudo systemctl enable docker
查看docker 詳細(xì)信息
$ sudo docker info
獲取鏡像
$ sudo docker pull xxx
xxx 代表鏡像名
查看鏡像
$ sudo docker images
查看某鏡像詳細(xì)信息
$ sudo docker inspect xxxx
xxxx 代表 image id
查找鏡像
$ sudo docker search xxx
用于查找遠(yuǎn)程倉庫中的共享鏡像八秃,默認(rèn)是docker hub
刪除鏡像
$ sudo docker rmi xxxx
xxx 可以為標(biāo)簽也可以為ID
創(chuàng)建并啟動(dòng)容器
$ sudo docker run -d --name xxx -p xxx:xxx imagesName
-d:不打印日志
--name :給容器命名
-p:設(shè)置主機(jī)端口和映射端口
停止容器
$ sudo docker stop imagesid
刪除容器
$ sudo docker rm imagesid
查看運(yùn)行中的容器
$ sudo docker ps
查看所有狀態(tài)的容器
$ sudo docker ps -a
登錄倉庫
$ sudo docker login
登錄私人倉庫:
$ sudo docker login host
Rancher 介紹
官方文檔:https://rancher.com/docs/rancher/v1.6/zh/
Harbor 介紹
GitHub地址:https://github.com/vmware/harbor
搭建過程:http://www.reibang.com/p/7218e66440f9
創(chuàng)建鏡像并上傳私人倉:
創(chuàng)建鏡像有三種方式:
- 基于已有的鏡像的容器創(chuàng)建
- 基于本地模板導(dǎo)入
- 基于Dockerfile創(chuàng)建
居于已有的鏡像的容器創(chuàng)建
$ docker commit -m "注釋" -a "作者" -p 容器ID 新鏡像名
-p 表示提交暫停容器運(yùn)行
居于本地模板導(dǎo)入
$ sudo cat ubuntu-14.04-x86-minimal.tar.gz | docker import -ubuntu:14.04
居于Dockerfile創(chuàng)建
https://docs.docker.com/get-started/part2/
上傳鏡像到私人倉庫
登錄倉庫:
$ docker login xx.xx.xx.xx標(biāo)記Images
$ docker tag friendlyhello xx.xx.xx.xx/firstimage/friendlyhello上傳:
$docker push xx.xx.xx.xx/項(xiàng)目/IMAGE[:TAG]