1.Docker概念
- Docker可以將應(yīng)用以及依賴包到一個(gè)可移植的鏡像中,然后發(fā)布到Linux操作系統(tǒng)中,一個(gè)操作系統(tǒng)可以有多個(gè)鏡像,一個(gè)鏡像可以創(chuàng)建多個(gè)容器,每個(gè)容器之間相互隔離,并且容器運(yùn)行不依賴于操作系統(tǒng),因?yàn)槿萜髯陨砭陀幸粋€(gè)簡版系統(tǒng),其只依賴于Linux內(nèi)核。
2.鏡像的概念
- Docker將應(yīng)用程序及其所需的依賴、函數(shù)庫、環(huán)境、配置等文件打包到一起,稱為鏡像。
3.容器的概念
- 鏡像中的應(yīng)用程序運(yùn)行后形成的進(jìn)程就是容器,知識(shí)Docker會(huì)給容器進(jìn)程做隔離,對(duì)外不可見。
4.鏡像的基本命令
- 拉取鏡像 docker pull imageName:imageTag
- 查看鏡像 docker images
- 導(dǎo)出鏡像 docker save -o targetName.tar imageName
- 導(dǎo)入鏡像 docker load -i targetName.tar
- 刪除鏡像 docker rmi imageName:imageTag
5.容器的基本命令
1.進(jìn)入容器內(nèi)部的系統(tǒng) docker exec
2.查看容器的運(yùn)行日志 docker logs
3.查看所有運(yùn)行的容器及狀態(tài) docker ps
4.查看所有容器及狀態(tài) docker ps -a
5.創(chuàng)建并運(yùn)行一個(gè)容器 docker run
6.停止一個(gè)運(yùn)行的容器 docker stop
7.讓一個(gè)停止的容器重新運(yùn)行 docker start
8.刪除一個(gè)容器 docker rm
9.讓一個(gè)與運(yùn)行的容器暫停 docker pause
10.讓一個(gè)暫停的容器恢復(fù)運(yùn)行 docker unpause
6.容器命令中的相關(guān)參數(shù)
1.--name 給容器起名
2.-p 定義宿主機(jī)端口和容器端口的映射關(guān)系,用冒號(hào)隔開
3.-d 后臺(tái)運(yùn)行容器
7.數(shù)據(jù)卷操作基本命令
1.docker volume create 創(chuàng)建一個(gè)數(shù)據(jù)卷
2.docker volume inspect 顯示一個(gè)或多個(gè)數(shù)據(jù)卷的信息
3.docker volume ls 列出所有數(shù)據(jù)卷
4.docker volume prune 刪除未使用的數(shù)據(jù)卷
5.docker volume rm 刪除指定的數(shù)據(jù)卷
8.掛載數(shù)據(jù)卷
* 創(chuàng)建容器時(shí),通過參數(shù)-v來掛載一個(gè)數(shù)據(jù)卷到某個(gè)容器內(nèi)的目錄中
docker run
--name mn
-v html:/root/html 把html數(shù)據(jù)卷掛載到容器的指定目錄中
-p 8080:80
nginx
9.Dockerfile概念
* 常見的鏡像在官方倉庫中都能找到,但自己寫的項(xiàng)目就必須用Dockerfile自己去構(gòu)建鏡像了
* 鏡像的構(gòu)成
1.基礎(chǔ)鏡像:應(yīng)用依賴的操作系統(tǒng)
2.層:程序依賴的安裝包、配置、依賴等
3.入口:鏡像運(yùn)行的入口,一般是程序啟動(dòng)的腳本和參數(shù)
10.Dockerfile的相關(guān)指令
* FROM 指定基礎(chǔ)鏡像
* ENV 設(shè)置環(huán)境變量,可在后面指令使用
* COPY 拷貝本地文件到鏡像的指定目錄
* RUN 執(zhí)行Linux的shell命令,一般是安裝過程的命令
* EXPOSE 指定容器運(yùn)行時(shí)監(jiān)聽的端口
* ENTRYPOINT 鏡像中的啟動(dòng)命令,容器運(yùn)行時(shí)調(diào)用
11.DokcerCompose概念
* DockerCompose可以基于Compose文件幫我們快速部署分布式應(yīng)用,無需手動(dòng)一個(gè)個(gè)去創(chuàng)建和運(yùn)行容器
本文摘自 :https://www.cnblogs.com/