1 概述php
docker是雙發行版。docker-EE (企業版,收費)和 docker-CE(社區辦,免費),docker-ce項目後面更名爲moby項目。所以要在github上找到ce發行版,就要搜索moby這個關鍵詞html
docker是go語言研發,運行須要go環境linux
docker在extras倉庫裏或者經過官網https://download.docker.com/對應的軟件包下載源git
Centos7的docker-ce軟件包路徑爲https://download.docker.com/linux/centos/7/x86_64/stable/Packages/github
也能夠直接經過下載docker-ce的repo文件,配置yum源後,就能夠直接經過yum來安裝docker
2 安裝json
安裝官方repo源的安裝centos
#下載repo包bash
wget -P /etc/yum.repos.d/ https://download.docker.com/linux/centos/docker-ce.repo
官方yum倉庫的docker爲docker-ce,所以安裝命令爲
架構
yum -y install docker-ce
若是安裝extras路徑 docker包名爲docker,所以安裝命令爲
yum -y install docker
這裏推薦用docker-ce進行安裝
安裝過程,若是出現 container-selinux >= 2.9 依賴報錯,參考以下文章進行解決
https://blog.csdn.net/qq_41772936/article/details/81080284
即執行以下命令
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo yum install epel-release yum install container-selinux
此時會安裝 container-selinux ,若是機器中有配置docker的yum倉庫,那麼會一塊兒安裝docker-ce包
安裝後查看對應的包
rpm -ql docker-ce
安裝成功後,不須要修改配置文件,直接啓動服務
systemctl start docker.service
查看docker版本
docker version
3 docker鏡像加速
docker官方的鏡像下載比較慢,因此能夠經過其餘公司的加速器來訪問docker-hub倉庫,或者直接下載第三方的docker 鏡像,如網易的風潮,或者阿里雲。
這裏推薦使用阿里雲的開發者平臺,註冊帳號。注意,阿里雲有加速器,進入本身的管理中心。阿里雲的開發者平臺提供進行倉庫,連接爲
https://dev.aliyun.com/search.html
登陸阿里雲開發者平臺後,到我的管理中心,找到鏡像加速器,每一個人都有專用的鏡像加速器地址,在頁面有相關的操做文檔來告訴用戶如何設定,更好的加速
加速器實際是阿里雲作的docker-hub鏡像到國內來
docker 是C/S架構,服務端是 dockerd,客戶端是docker,dockerd監聽來自客戶端的請求和指令,dockerd接收指定後,完成指令的操做。docker和dockerd經過http或者https協議進行通訊。dockerd收到指令後,會先檢索本地的鏡像文件的存儲位置是否有要啓動容器的鏡像文件,若是已經存在,就會把這個鏡像文件直接啓動爲容器。若是本地沒有相關鏡像文件,就會到指定的docker的registry服務上檢索獲取鏡像文件,將檢索到的鏡像文件下載到本地並啓動爲容器。若是本地和遠程都沒有對應的鏡像,則啓動容器會失敗
Docker 命令分爲管理命令和標準命令
docker配置文件是daemon.json,可能不存在,就手動建立
centos執行以下語句
sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": [" 加速器地址 "] } EOF sudo systemctl daemon-reload sudo systemctl restart docker
到這裏加速設置 完成
4 docker鏡像標識方式
一個repository(倉庫)只放一種鏡像的多個不一樣版本的鏡像,一個鏡像,如php-fpm,多是版本有多個,引發對應的鏡像文件版本發生變化。倉庫是有名字的。通常鏡像的名字就是其標籤,標籤是其版本號。通常而言,最新的版本有統一的標識符,爲latest
docker和倉庫直接是經過https協議來通訊,https協議嚴格驗證系統時間和官方倉庫時間是否一致,若是時間不一致,則會致使搜索不出結果。因此,經過docker search命令查不到結果時,須要查看時間是否一致
一個倉庫內的鏡像是同一鏡像的多個版本的組成,若是給定倉庫名,沒有版本,默認是latest
注意,docker的官網https://hub.docker.com/註冊帳號如今國內註冊不了。