Docker在centos7或centos8下的安裝及使用方式:
知識點:
什麼是Docker?
Docker是容器化平臺,組裝所有程式,運用執行在該平臺上,提供的打包部署及執行,是部署運用程式簡易化,類比成java虛擬機器,所有程式碼都執行在虛擬機器上。
所有容器是獨立的關係,但是共享宿主機的所有資源,跟虛擬機器有差異
什麼是映象?
相當於maven,中的jar包,是檔案,也是別人寫好的輪子。
安裝過程:
安裝要求:
Docker執行在centos7或centos8上要求的系統為64位,系統的核心版本位3.10以上。
安裝yum的工具集和docker儲存外掛:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
設定aliyun:
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
設定那個源最快就使用哪個:
centos 8使用:
sudo yum makecache timer 或 dnf makecache
centos 7使用:
sudo yum makecache fast
安裝docker:
yum install -y docker-ce
啟動docker:
service docker start
檢視docker版本:
docker version
從docker中央倉庫下載demo測試,可能網路問題造成:
docker pull hello-world
啟動demo:
docker run hello-world
常用命令:
docker pull 映象名<:tags> 從遠處倉庫抽取映象,相當於從maven倉庫拉取jar包
docker images -檢視本地映象
docker run <-p 宿主機埠:容器埠> <-d(後臺執行)> <--name 名稱>映象名<:tags> -建立容器,啟動應用,記得宿主機關閉防火牆,
需要進入容器把webapps.dist中的內容複製到webapps資料夾下,宿主機和容器的關係:請求宿主機會轉發給容器埠9090埠
docker ps -檢視正在執行中的映象
docker rm <-f> 容器id -刪除容器
docker rmi <-f> 映象名:<tags> -刪除映象
docker exec [-it] 容器id 命令 進入容器執行命令
exit 退出容器docker遠端倉庫:https://hub.docker.com/ 檢視映象資訊
docker生命週期:
Dockerfile映象描述檔案:
FROM <映象名:tags> -基礎映象
WORKDIR 目錄 -切換工作目錄
ADD <源資源> 存放目錄 -映象中新增資源
RUN 命令 -構建時執行命令
ENV 變數名 值 -設定全域性變數
CMD 命令 -設定預設執行命令,最後一個才會被執行,不一定被執行,可被替換
ENTRYPOINT 命令 -用於容器啟動時執行,最後一個才會被執行,一定執行
docker build -t 映象名<:tags> Dockerfile目錄 -建立映象
容器間Link單向通訊:
docker容器建立,建立虛擬ip,如果容器啟動時建立容器名稱,可以實現按照名稱連線,利用 --name 當前容器名稱,--link 指向容器名稱
Bridge網橋雙向通訊:
網橋不僅可以實現容器間的通訊,也可以實現容器與外界的通訊,在宿主機建立虛擬網絡卡,相當於閘道器,實現內部通訊,與外部通訊,通過宿主機的物理網絡卡進行地址轉換
docker network ls -查詢所有網橋連線
docker network create -d 網橋名
docker network connect 網橋名 容器名
容器間資源共享:
叢集部署配置檔案相同,無需多處配置,通過掛在掛在宿主機路徑,第一種方式:啟動容器時增加引數 -v 宿主機路徑:容器內掛在路徑 ,第二種方式:建立共享容器,docker create --name 容器名 -v宿主機路徑:容器內掛在路徑 容器名 /bin/true ,啟動增加引數,--volumes-from共享容器名
Docker-composs容器編排工具:
單機多容器編排工作,讓容器間啟動有序。從映象構建到部署一個指令碼執行完成,屬於運維工作,不做闡述。