1 概述
1.1 簡述
Docker
是一個開源的引擎,可以輕鬆的爲任何應用創建一個輕量級的、可移植的、自給自足的容器。
開發者可以打包他們的應用以及依賴包到一個可移植的鏡像中,然後發佈到任何支持 docker 的機器上運行。
容器是完全使用沙箱機制,相互之間不會有任何接口調用。
1.2 優缺點
1.2.1 優點
1)快
運行時的性能快,管理操作(啓動,停止,開始,重啓等等) 都是以秒或毫秒爲單位的。
2)敏捷
像虛擬機一樣敏捷,而且會更便宜,在 bare metal(裸機)上佈署像點個按鈕一樣簡單。
3)靈活
將應用和系統“容器化”,不添加額外的操作系統
4)輕量
在一臺服務器上可以佈署 100~1000 個 Containers 容器。
5)便宜
開源的,免費的,低成本的。
1.2.2 缺點
所有容器共用 linux kernel 資源,資源能否實現最大限度利用,所以在安全上也會存在漏洞。
1.3 版本
目前最近的2個版本
- docker-ce
docker-ce-18.06.3.ce-3.el7
- docker-ee
2 docker的基本用法
2.1 鏡像相關操作
從 dockerhub 查找鏡像
docker search {某個鏡像的名稱}
- 查找對應DockerHub倉庫中的鏡像
--filter=stars=50
: 列出收藏數不小於指定值的鏡像
docker search tomcat
...
docker search centos
解釋說明:
NAME
: 鏡像倉庫源的名稱DESCRIPTION
: 鏡像的描述OFFICIAL
: 是否docker 官方發佈stars
: 類似Github 裏面的star,表示點贊、喜歡的意思。AUTOMATED: 自動構建。
補充
[root@guoweixin ~]# docker search --help
Usage: docker search [OPTIONS] TERM
Search the Docker Hub for images
Options:
-f, --filter filter Filter output based on conditions provided
根據提供的條件過濾器輸出
--format string Pretty-print search using a Go template
⽤Go模板打印出漂亮的搜索結果
--limit int Max number of search results (default 25)
搜索結果的最⼤數量(默認值爲25)
--no-trunc Don't truncate output
不要截斷輸出
下載鏡像
docker pull [選項] [Docker Registey 地址[:端口號]/] 倉庫名[:標籤]
從 Docker 鏡像倉庫獲取鏡像
- Docker 鏡像倉庫地址: 地址的格式一般是
< 域名 /IP>[: 端口號 ]
。默認地址是Docker Hub
。- 倉庫名:這裏的倉庫名是兩段式名稱, 即
< 用戶名 >/< 軟件名 >
。對於 Docker Hub ,如果不給出用戶名,則默認爲 library ,也就是官方鏡像。
docker pull centos
又例如:我們需要一個tomcat的鏡像來作爲我們的web服務。通過 docker pull獲取鏡像
docker pull tomcat:版本號 //不寫 :版本號 代表laster版本
查看本地鏡像
要想列出已下載下來的鏡像,可以使用 docker image ls 命令
列表包含了 倉庫名、標籤、鏡像 ID、創建時間 以及 所佔用的空間。其中,倉庫名、標籤在之前的基礎概念已經介紹過了。
鏡像 ID 則是鏡像的唯一標識,一個鏡像可以對應多個標籤。
因此,如果擁有相同的 ID,因爲它們對應的是同一個鏡像。
docker images
-a
:--all
,列出所有鏡像-q
:--quiet
,只顯示鏡像的id--digests
: 顯示鏡像的摘要信息
REPOSITORY 鏡像的倉庫源
TAG 鏡像的標籤
IMAGE ID 鏡像的 ID
CREATED 鏡像創建時間
SIZE 鏡像大小
同一個倉庫源可以有多個 TAG,代表這個倉庫源的不同版本,我們使用REPOSITORY:TAG 定義不同的鏡像;
如果你不定義鏡像的標籤版本,docker將默認使用 lastest 鏡像!
將鏡像做成離線壓縮包
docker save -o centos.tar.gz centos
ls ./
解壓離線鏡像包
docker load -i centos.tar.gz
刪除鏡像
docker rmi -f centos:latest
K FAQ/問題集
Q1 配置docker鏡像加速器?
- Step1 登陸阿里雲鏡像倉庫
https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
如果沒有開通,可開通阿里雲的鏡像服務
編輯
/etc/docker/daemon.json
- Step2 重啓docker
systemctl daemon-reload
systemctl restart docker
Q2 docker hub官網進不去?
問題分析
docker hub進不去是因爲“hub.docker.com”是在國外的,所以訪問速度很慢,導致無法訪問該網址。
解決方法
- 1、找到“daemon.json”文件
- 2、使用vim命令將其打開
- 3、添加“{ "registry-mirrors" :["https://docker.mirrors.ustc.edu.cn"]}”內容
- 4、重啓docker即可
參考文獻
Y 推薦資源
Y.1 核心資源/核心鏈接
- Docker官網
- Docker github
- Dockerhub 鏡像站官網
- Docker 官方 registry 鏡像加速
Y.2 Docker Hub 鏡像加速器列表
- Docker 官方鏡像
鏡像加速器 | 鏡像加速器地址URL | 專屬加速器 | 其他加速 |
---|---|---|---|
Docker 中國官方鏡像站 | https://registry.docker-cn.com | ... | Docker Hub |
Dao Cloud 鏡像站 | http://f136db2.m.daocloud.io/ | 可登錄,系統分配 | Docker Hub |
Azure 中國鏡像站 | https://dockerhub.azk8s.cn | Docker Hub / GCR / Quay | |
科大鏡像站 | https://docker.mirrors.ustc.edu.cn | ... | Docker Hub / GCR / Quay |
阿里雲 | https://docker.mirrors.ustc.edu.cn | 需登錄,系統分配 | Docker Hub |
七牛雲 | https://reg-mirror.qiniu.com | ... | Docker Hub / GCR / Quay |
網易雲 | https://hub-mirror.c.163.com | ... | Docker Hub |
騰訊雲 | https://mirror.ccs.tencentyun.com | ... | Docker Hub |
Y.3 其他
-
容器鏡像服務/製品中心 - 阿里雲
https://cr.console.aliyun.com/cn-hangzhou/instances/artifact
X 參考文獻
待閱讀