## Docker 簡介
Docker 是一個開源的容器引擎,它有助于更快地交付應用。Docker 可將應用程序和基礎設施層隔離,并且能將基礎設施當作程序一樣進行管理。使用 Docker , 可更快地打包、測試以及部署應用程序,并可以縮短從編寫到部署運行代碼的周期。
* Docker 的官方網址鏈接:https://www.docker.com
* Docker 的 GitHub : http://github.com/docker/docker
## Docker 的架構
Docker 架構包含的主要組件:
* Docker daemon ( Docker 守護進程 )
Docker daemon 是一個運行在宿主機 (DOCKER\_HOST) 的后臺進程。可通過 Docker 客戶端與之通信。
* Client (Docker 客戶端)
Docker 客戶端是 Docker 的用戶界面,它可以接受用戶命令和配置標識,并與 Docker daemon 通信。
* Images ( Docker 鏡像 )
Docker 鏡像是一個只讀模板,它包含創建 Docker 容器說明。它和系統安裝光盤有點像 —— 使用系統安裝光盤
可以安裝系統,同理,使用 Docker 鏡像可以運行 Docker 鏡像中的程序。
* Container (容器)
容器是鏡像的可運行實例。鏡像和容器的關系有點類似于面向對象中,類和對象的關系。可通過 Docker API 或CLI 命令來啟動、停止和移動、刪除容器。
* Registry ( 注冊 )
Docker Registry 是一個集中存儲與分發鏡像的服務。構建完 Docker 鏡像后,就可在當前宿主機上運行。但如果想要在其他機器上運行這個鏡像,就需要手動復制。此時,就可借助 Docker Registry 來避免鏡像的手動復制。
一個 Docker Registry 可包含多個 Docker 倉庫,每個倉庫可包含多個鏡像標簽,每個標簽對應一個 Docker 鏡像。這跟 Maven 的倉庫有點類似,如果把 Docker Registry 比作 Maven 倉庫的話,那么 Docker 倉庫就可理解為某 jar 包的路徑,而鏡像標簽則可理解為 jar 包的版本號。
Docker Registry 和私有 Docker Registry 。最常用的 Docker Registry 莫過于官方的 Docker Hub, 這也是默認的 Docker Registry 。Docker Hub 上存放著大量優秀的鏡像,可使用 Docker命令下載并使用。
## Docker準備
Docker 官方建議將 Docker 運行在 Linux 操作系統上。當然,Docker 也支持運行在其他平臺,例如Windows、MacOS 等。
* 安裝參考官方文檔:http://docs.docker.com/engine/installation/
#### 系統要求
* Docker 運行在 CentOS 7.X 之上 (不支持內核在 3.8 以下的老版本)
#### 通過以下命令查看您的 CentOS 內核
`uname -r`
需要保證Docker安裝在 64 位平臺
#### 移除非官方軟件包
Red Hat 操作系統包含了一個舊版本的 Docker 軟件包,該舊版本軟件包的名稱是 “ docker ”,而新版本是 “docker-engine ”。因此,如已安裝該軟件包,那么需要執行以下命令移除。
```
$ sudo yum remove docker
```
Tips:執行該命令只會移除舊版本的 Docker , /var/lib/docker 目錄中的內容不會被刪除,因此,舊版本Docker所創建的鏡像、容器、卷等都會保留下來。
#### 卸載舊版本
```
$ sudo yum remove docker docker-common docker-selinux docker-engine
```
#### 設置 Yum 源
Docker 有多種安裝方式,例如 Yum 安裝、PRM 包安裝、Shell安裝等。以下以 Yum 安裝方式進行, Docker 分Docker EE 和 Docker CE 兩種版本(EE:企業版,收費的;CE:社區版,不收費)。
1. 安裝 yum-utils , 這樣就能使用 yum-config-manager 工具設置 Yum 源。
```
$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2
```
2. 執行以下命令,添加 Docker 的 Yum 源。
```
$ sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
```
3. 【可選】啟用測試倉庫。測試倉庫包含在 docker.repo 文件中,但默認情況下禁用的。
如需啟用測試倉庫,可使用以下命令:
```
$ sudo yum-config-manager --enable docker-ce-edge
$ sudo yum-config-manager --enable docker-ce-test
```
如想要禁用測試倉庫,可執行以下命令:
```
$ sudo yum-config-manager --disable docker-ce-edge
```
## 安裝Docker
1. 更新 Yum 包的索引
```
$ sudo yum makecache fast
```
2. 安裝最新版本的 Docker
```
$ sudo yum install docker-ce
```
3. 在生產系統中,可能需要安裝指定版本的 Docker ,而并不總是安裝最新的版本。
執行以下命令,即可列出可用的 Docker 版本
```
$ yum list docker-ce --showduplicates | sort -r
```
列出 Docker 版本后,可使用以下命令安裝指定版本的 Docker 。
```
$ sudo yum install
```
例如:
```
$ sudo yum -y install docker-ce-17.09.0.ce
```
4. 啟動 Docker
```
$ sudo systemctl start docker
```
5. 執行以下命令,驗證安裝是否正確
```
$ sudo docker run hello-world
```
6. 查看 Docker 版本
```
docker version
```
## 卸載 Docker
1. 卸載 Docker 軟件包
```
$ sudo yum remove docker-ce
```
2. 如需刪除鏡像、容器、卷以及自定義的配置文件,可執行以下命令
```
$ sudo rm -rf /var/lib/docker
```
Version:0.9 StartHTML:0000000105 EndHTML:0000002391 StartFragment:0000000141 EndFragment:0000002351
## 配置鏡像加速器
國內訪問 Docker Hub 的速度很不穩定,有時甚至出現連接不上的情況。為 Docker 配置鏡像加速器,從而解決這個問題。目前國內很多云服務商都提供了鏡像加速的服務。常用的鏡像加速器有:
阿里云加速器、DaoCloud加速器等。
以阿里云加速器為例:
1. 注冊阿里云賬號,即可在阿里云控制臺(https://cr.console.aliyun.com/cn-zhangjiakou/instances/mirrors)
2. 按照提示說明,即可配置鏡像加速器。
## ipv4轉向配置
若啟動docker的時候報錯:
```
WARNING IPv4 forwarding is disabled. Networking will not work
```
解決方案:
```
vi /etc/sysctl.conf
```
添加配置
```
net.ipv4.ip_forward=1
```
重啟
```
systemctl restart network
```
查看是否成功
```
sysctl net.ipv4.ip_forward
```
如果返回為 net.ipv4.ip_forward = 1 則表示成功了
- 序言
- 開發環境準備
- 環境要求
- 環境安裝
- 基礎環境安裝
- Nacos安裝
- Sentinel安裝
- 插件安裝
- 導入工程
- 運行工程
- 工程測試
- JPower特性
- 系統啟動器
- 多終端令牌認證
- 系統鑒權
- 鑒權API
- 鑒權配置
- API權限配置
- 接口放行配置
- 數據權限
- redis緩存
- 動態網關
- 聚合文檔
- SaaS多租戶
- 概念
- 使用
- Xss防注入
- 日志記錄
- 操作日志&錯誤日志
- SQL打印
- feign請求日志&配置
- gateway日志
- 服務日志打印
- 導入導出
- 字典查詢
- 系統文件上傳下載
- 接口監控
- 代碼生成器
- 配置文件共享
- Mybatis過濾器
- 配置說明
- 高級實戰
- nacos動態配置
- Seata分布式事務
- 簡介
- docker啟動
- 微服務配置
- 微服務遠程調用
- 聲明式服務調用 Feign
- 熔斷機制 Sentinel
- sentinel流控
- 簡介
- 微服務配置
- 配置nacos對接
- APM監控&鏈路追蹤
- 簡介
- 安裝
- 微服務接入
- SpringBootAdmin監控
- ELK分布式日志追蹤系統
- ELK簡介
- ELK一鍵部署
- 微服務日志對接ELK
- JPower-Chat
- 配置說明
- 生產部署
- docker部署
- docker安裝
- docker-compose安裝
- harbor安裝
- 部署步驟
- 版本升級
- 1.0.1升級到2.0.0
- 2.0.0升級到2.0.2
- 2.0.2升級2.1.0
- 2.1.0升級到2.1.1
- 2.1.1升級到2.1.2
- 2.1.2升級到2.1.4