docker容器简介及安装
生活随笔
收集整理的這篇文章主要介紹了
docker容器简介及安装
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
docker容器簡介及安裝
- 一、docker的前世今生
- 早期
- 過度
- 目前
- 二、什么是docker
- 三、docker核心概念
- 1、鏡像
- 2、容器
- 3、倉庫
- 四、docker容器和虛擬機的區(qū)別
- 五、docker的安裝
- 1、安裝擴展和設(shè)置倉庫
- 2、清空緩存,并安裝docker引擎,開啟服務(wù)并設(shè)置開機自啟
- 3、安裝加速器
- 4、網(wǎng)絡(luò)優(yōu)化
- 5、可選項:配置文件修改(生產(chǎn)經(jīng)驗)
- 6、驗證版本信息
- 總結(jié)(面試題)
- docker有哪些優(yōu)勢?docker和KVM虛擬化的區(qū)別
- 容器狀態(tài)有哪些,分別是什么場景?
一、docker的前世今生
早期
- 最早的時候,容器技術(shù)在FreeBASE出現(xiàn),叫做jail,是把一個程序放在jail中單獨運行,不管運行是否出錯,對外面其他應(yīng)用都不會產(chǎn)生影響
- 后來,jail技術(shù)在linux中實現(xiàn),叫做 Linux vserver,主要功能為chroot、namespaces和cgroups。
- chroot: 完整的根文件系統(tǒng)(FHS)標準
- namespaces:UTS(隔離內(nèi)核和版本標識)、Mount(管理掛載點)、IPC( 管理跨進程通信方向)、PID(進程隔離)、user(用戶間隔離)、network(管理網(wǎng)絡(luò)接口)
- cgroups: 資料的分配和監(jiān)控
- 通過比較復雜的代碼開發(fā)過程,調(diào)用以上三項技術(shù),實現(xiàn)容器的創(chuàng)建—>管理---->銷毀
過度
- LXC(LinuXContainer)的出現(xiàn)
- LXC 對于原有的常用功能進行封裝,方便了我們做容器生命周期的管理
- 通過固有“模板”,安裝并啟動容器。將遠程的程序包下載到本地,安裝并創(chuàng)建好我們需要的容器
- 但是仍然需要制定模板來使用,大規(guī)模創(chuàng)建及復制比較麻煩
目前
- docker技術(shù)應(yīng)運而生
- docker技術(shù)是在LXC的基礎(chǔ)上,加入了鏡像技術(shù),進行了二次開發(fā)和封裝
二、什么是docker
- Docker是一個用于開發(fā),交付和運行應(yīng)用程序的開放平臺。Docker使您能夠?qū)?yīng)用程序與基礎(chǔ)架構(gòu)分開,從而可以快速交付軟件。
- 是一個開源的應(yīng)用容器引擎,讓開發(fā)者可以打包方式封裝應(yīng)用以及依賴包到一個可移植的鏡像中,然后發(fā)布到任何流行的Linux或者windows機器上,也可以實現(xiàn)虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口
- 沙箱(Sandbox):在計算機安全領(lǐng)域,沙箱是一種程序的隔離運行機制
- Docker在2013年一炮而紅,直到現(xiàn)在,已經(jīng)成為容器技術(shù)的代名詞。
- Docker從一開始就以提供標準化的運行時環(huán)境為目標,真正做到"Build,Ship and Run any APP,Angwhere",可以將同一個構(gòu)建版本用于開發(fā)、測試、預發(fā)布、生產(chǎn)等任何環(huán)境,并且做到了與底層操作系統(tǒng)的解耦。在此基礎(chǔ)上還進一步發(fā)展出了Caas (容器即服務(wù))技術(shù)。
小結(jié):Dcoker是基于容器技術(shù)的輕量級虛擬化解決方案docker是容器引擎,把linux的cgroup、namespaces等容器底層技術(shù)進行完美的封裝、并抽象為用戶提供創(chuàng)建和管理容器的便捷界面(命令行cli、api等)
三、docker核心概念
1、鏡像
鏡像:一組資源的集合,包含了應(yīng)用程序軟件包、應(yīng)用程序相關(guān)的依賴包、運行應(yīng)用程序所需要的基礎(chǔ)環(huán)境(泛指操作系統(tǒng)環(huán)境)
2、容器
容器:基于鏡像的一種運行時狀態(tài)
3、倉庫
倉庫:存放 image 鏡像,倉庫大類(公共倉庫 docker hub,私有倉庫 registry、harbor)
四、docker容器和虛擬機的區(qū)別
| 啟動速度 | 秒級 | 分鐘級 |
| 計算能力損耗 | 幾乎無 | 損耗50%左右 |
| 性能 | 接近原生 | 弱于 |
| 系統(tǒng)支持量(單機) | 上千個 | 幾十個 |
| 操作系統(tǒng) | 主要支持Linux | 幾乎所有 |
| 隔離性 | 進程級別,資源隔離/限制 | 系統(tǒng)級別,完全隔離 |
| 封裝程度 | 只打包項目代碼和依賴關(guān)系,共享宿主機內(nèi)核 | 完整的操作系統(tǒng),與宿主機隔離 |
五、docker的安裝
1、安裝擴展和設(shè)置倉庫
sudo yum install -y yum-utils sudo yum-config-manager \--add-repo \ http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo2、清空緩存,并安裝docker引擎,開啟服務(wù)并設(shè)置開機自啟
yum makecache fast yum install docker-ce docker-ce-cli containerd.io systemctl start docker systemctl enable docker3、安裝加速器
阿里云官網(wǎng):https://account.aliyun.com/ 阿里云官網(wǎng)--->右上角控制臺---->搜索框輸入容器鏡像服務(wù)---->左側(cè)欄鏡像中心內(nèi)的加速器--->選擇文件系統(tǒng) 每個賬號的加速器地址都不同4、網(wǎng)絡(luò)優(yōu)化
vim /etc/sysctl.conf net.ipv4.ip_forward=1sysctl -p systemctl restart network systemctl restart docker5、可選項:配置文件修改(生產(chǎn)經(jīng)驗)
#registry-mirrors 以上添加"graph":"/data/docker", #數(shù)據(jù)目錄"storage-driver":"overlay2", #存儲引擎"insecure-registries":["registry.access.redhat.com","quary.io"], #私有倉庫 #registry-mirrors 以下添加"bip":"172.184.70.1/24", #docker網(wǎng)絡(luò)"exec-opts":["native.cgroupdriver-systemd"], #啟動時的額外參數(shù)"live-restore":true #當docker容器引擎掛掉的時候,使用docker跑起來的容器還能繼續(xù)運行6、驗證版本信息
docker version總結(jié)(面試題)
docker有哪些優(yōu)勢?docker和KVM虛擬化的區(qū)別
| 啟動速度 | 秒級 | 分鐘級 |
| 計算能力損耗 | 幾乎無 | 損耗50%左右 |
| 性能 | 接近原生 | 弱于 |
| 系統(tǒng)支持量(單機) | 上千個 | 幾十個 |
| 操作系統(tǒng) | 主要支持Linux | 幾乎所有 |
| 隔離性 | 進程級別,資源隔離/限制 | 系統(tǒng)級別,完全隔離 |
| 封裝程度 | 只打包項目代碼和依賴關(guān)系,共享宿主機內(nèi)核 | 完整的操作系統(tǒng),與宿主機隔離 |
容器狀態(tài)有哪些,分別是什么場景?
- 容器狀態(tài)有7種:
- created(已創(chuàng)建)
- restarting(重啟中)
- up/running(運行中)
- removing(遷移中)
- paused(暫停)
- exited(停止)
- dead(死亡)
總結(jié)
以上是生活随笔為你收集整理的docker容器简介及安装的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Mysql数据库(五)——mysql事务
- 下一篇: ERROR: No query spec