Docker03 Docker基础知识、Docker实战
?
1 Docker基礎知識
1.1 什么是Docker
Docker是一個可以裝應用的容器,就像杯子可以裝水、書包可以裝書一樣;docker官網
Docker是Docker公司開發(fā)的,并開源到GitHub上;
Docker是跨平臺的,支持windows、linux、Macos
1.2 Docker思想
1.2.1 集裝箱
需要運行的程序放到一個集裝箱中
1.2.2 標準化
運輸方式
存儲方式
API接口
1.2.3 隔離
1.3 Docker解決了什么問題
1.3.1 解決運行環(huán)境不一致問題
?解決了本地可以運行但是上線就出現(xiàn)問題
1.3.2 應用之間的隔離
當一臺服務器同時運行多個應用時,有可能會因為一個應用出現(xiàn)問題而牽扯到其他應用的運行;docker化的應用會給每個應用進行隔離,某個應用出現(xiàn)問題后不會影響其他的應用
1.3.3 簡化應用的擴展
當需要大量擴展應用程序的部署時,利用docker可以輕松實現(xiàn);例如:雙十一應用的擴展
1.4 Docker核心技術
Docker運行程序的過程:利用命令從倉庫拉取一個鏡像到本地 -> 利用命令將鏡像變成容器 -> 利用命令運行容器
build : 構建鏡像
ship : 運輸鏡像,從倉庫把需要的鏡像運輸到某臺服務器(即:從倉庫中獲取鏡像)
run : 運行的進行(就是一個正在運行的容器)
1.4.1 鏡像(集裝箱)
就行就是一系列的文件,可以是應用文件,也可以是運行應用需要的環(huán)境文件;Docker會把這些文件保存到本地,存儲方式采用Linux中的聯(lián)合文件系統(tǒng)的分層概念方式(即:將不同目錄下的文件掛載到同一個目錄下)。
鏡像可以用來創(chuàng)建Docker容器的。一個鏡像可以包含一個完整的操作系統(tǒng)環(huán)境和用戶需要的其它應用程序。在docker hub 里面有大量現(xiàn)成的鏡像提供下載。docker的鏡像是只可讀的,一個鏡像可以創(chuàng)建多個容器,每個容器之間相互不干擾。
鏡像由下到上每層的具體說明為:
操作系統(tǒng)的引導
具體的Linux操作系統(tǒng)
相關軟件:tomcat、jdk等
應用代碼
頂層為可寫層(屬于容器)
說明:docker加載完每層后,所有文件都會被視為放在同一個目錄【相當于所有文件都放在一個文件系統(tǒng)中,docker的這個文件系統(tǒng)就叫作容器】
1.4.2 倉庫(超級碼頭) ?
就是存放鏡像的遠程倉庫
官方倉庫、國內倉庫
?
1.4.3 容器(運行程序的地方)
Docker利用容器來開發(fā)、運行應用容器是鏡像創(chuàng)建的實例。它可以被啟動、開始、停止、刪除。每個容器都是 相互隔離的、保證安全的平臺。
電風扇
?
2 安裝
2.1 windows安裝
2.1.1 下載Docker for Developers
2.1.2 啟動Docker Quickstart Termina時遇到的坑
說明01:非windows10用戶需要下載docker toolbox 來安裝docker
說明02:安裝完?docker toolbox 后會在桌面出現(xiàn)三個圖標
坑01:啟動Docker Quickstart Terminal時會提示找不到git執(zhí)行路徑
解坑02:右鍵Docker Quickstart Terminal -> 屬性 -> 快捷方式 -> 目標?-> D:\PTool\Git\bin\bash.exe --login -i "H:\docker\Docker Toolbox\start.sh"
坑02:第一啟動Docker Quickstart Terminal時需要下載一個boot2docker文件,非常慢
解坑02:利用迅雷下載(從第一次啟動Docker Quickstart Terminal時可以獲取到boot2docker文件的下載url),并將下載好的文件放到?C:\Users\a\.docker\machine\cache 下即可;然后再次啟動
說明03:啟動 Docker Quickstart Terminal 成功后,可以利用Docker Version來查看docker的客戶端和服務端信息
?
3 Docker實戰(zhàn)
3.1 Docker的Hello World
docker pull? -> 拉取鏡像
docker images -> 查看鏡像列表信息
docker ps -> 查看正在運行的容器信息
docker run -> 運行鏡像
?
3.2 Nginx
3.2.1 nginx容器的特點
是一個持久運行的容器
最好選擇后臺運行
進入容器內部
3.2.2 具體步驟
》到鏡像中心去查看nginx
》拉取nginx鏡像
docker pull hub.c.163.com/library/nginx:latest》前臺運行nginx容器(前臺啟動直接利用ctrl + c就可以停掉)
docker run hub.c.163.com/library/nginx》后臺運行nginx容器
docker run -d hub.c.163.com/library/nginx》關閉nginx容器
docker stop 244c59f1c7f7》進入nginx容器內部
使用命令 dokcer exec?
可以通過 docker exec --help 查看該命令的一些信息
docker exec -i -t b42516a87c12 bash說明:進入容器后就相當于進入了一個linux系統(tǒng),可以通過exit命令退出
》訪問容器中的nginx
網絡類型:Bridge(docker的默認模式)、Host、None
端口映射
$ docker run -d -p 8088:80 hub.c.163.com/library/nginx坑01:IP問題
?
?未完待續(xù)...2018年11月11日16:59:14
?
轉載于:https://www.cnblogs.com/NeverCtrl-C/p/9942592.html
總結
以上是生活随笔為你收集整理的Docker03 Docker基础知识、Docker实战的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 资源分配博弈之纳什均衡和斯塔克尔伯格模型
- 下一篇: 免费DDOS攻击测试工具大合集