docker的安裝和命令
一. 認識Docker
我們寫的程式碼會接觸好幾個環境:開發環境,測試環境以及生產環境
開發環境:程式設計師開發程式碼的環境
測試環境:開發完的程式碼部署到測試環境 給測試人員進行測試
生產環境:測試完成後有運維人員部署到生產環境
整個專案寫程式碼和部署的過程:首相程式設計師在自己的電腦安裝開發所需的環境並編寫程式碼在本地測試 ,測試完後會把jar包部署到測試環境,由測試人員測試,然後運維部署到生產環境
以上過程會有個問題:如果開發環境安裝了jdk8 但是測試環境安裝的是jdk7 就會因為環境不一樣導致程式碼執行出現bug
要解決以上問題那就把環境和程式碼裝到一個容器裡傳送到測試環境 這樣就解決了因為環境不一致導致的執行出現bug ,這個容器就是Docker
Docker是完全使用沙箱機制,互相隔離。也就是說可以在伺服器上安裝多個容器 容器之間的環境可以不一樣,互不影響,
二. 安裝Docker
Docker可以執行在MAC, Windows, Centos, Ubuntu 等作業系統,本文章基於Centos7安裝
Docker的官網 : https://www.docker.com
# 1. yum 包更新到最新 yum update # 2. 安裝需要的軟體包,yum-util 提供yum-config-manager功能,另外兩個是devicemapper驅動以來的 yum install -y yum-utils device-mapper-persistent-data lvm2 #3. 設定yum源 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo # 4. 安裝docker,出現輸入的介面都按 y yum install -y docker-ce # 5. 檢視docker版本,驗證是否按照成功 docker -v
三. Docker架構
Client: docker的客戶端,通過在客戶端操作一些命令來發送給守護程序
Hosts:docker的核心
local host : 本地機器
remote host: 遠端機器
daemon:docker安裝啟動後會以daemon守護程序的形式存在
container: 根據映象所創建出來的例項
image: 映象,來源於遠端倉庫Registries
Registries:遠端倉庫
Docker hub:官方提供的倉庫,伺服器在國外
private registry: 自己搭建的私有倉庫(私服)
四. 配置Docker映象加速器
預設情況在,從docker hub ( https://hub.docker.com/) 下載docker映象太慢,一般會配置映象加速器
- USTC: 中科大映象加速器( https://docker.mirrors.ustc.edu.cn)
- 阿里雲
- 網易雲
- 騰訊雲
一下以阿里云為例安裝映象加速器
1.登入阿里雲
2. 點選右上角的控制檯進入一下介面
3. 點選左上角的麵包按鈕 ,在產品與服務的搜尋框裡搜尋 <映象>,點選容器映象服務
4. 在左側選單欄點選映象加速器,右邊的就是加速器的地址和操作文件 ,
5. 選擇你得伺服器系統 並按照文件按照映象加速器。
五. Docker服務相關命令
# 啟動docker服務
systemctl start docker
# 檢視docker服務狀態
systemctl status docker
# 停止docker服務
systemctl stop docker
# 重啟docker服務
systemctl restart docker
# 開機自動啟動docker服務
systemctl enable docker
六. Docker映象相關命令
# 檢視本地映象
docker images
REPOSITORY: 映象名稱
TAG: 映象版本號
IMAGE ID: 映象id 如果要刪除某個映象就是根據這個id刪除的
CREATE: 映象的建立時間
SIZE:映象的大小
# 搜所映象,比如搜所redis映象
docker search redis
# 下載redis映象,如果redis後面不跟上版本號 那下載的就是 latest docker pull redis # 下載指定版本的redis映象 docker pull redis:5.0
如果我想下載指定版本的redis映象 ,但是又不知道redis有哪些版本怎麼辦呢,
1. 進入docker的官方網站hub.docker.com,所有redis
2, 選擇官方映象
3. 點選redis 後就可以看到 支援的版本
# 刪除映象,例如刪除redis 5.0 docker rmi 02fee89f17ad
#根據映象名+版本號刪除
docker rmi redis:5.0
#刪除本地所有映象
docker rmi `docker images -q`