window10下安裝Docker
1:docker介紹一,環(huán)境配置的難題二,虛擬機(jī)四,Docker是什么?五,Docker的用途1:卸載舊版本(如果安裝過):2:刪除/ var / lib / docker /目錄(如果存在)3.1:通過OS的軟件倉庫安裝4:安裝后相關(guān)配置4:驗(yàn)證是否安裝成功Docker守護(hù)進(jìn)程:Docker守護(hù)進(jìn)程Docker客戶端:Docker客戶端:Docker注冊(cè)表:Docker XMLDocker對(duì)象:
linux下
1:docker介紹
2013年發(fā)布至今,Docker一直廣受矚目,被認(rèn)為可能會(huì)改變軟件行業(yè)。
但是,許多人并不清楚Docker到底是什么,要解決什么問題,好處又在哪里?

一,環(huán)境配置的難題
軟件開發(fā)最大的麻煩事之一,就是環(huán)境配置。用戶計(jì)算機(jī)的環(huán)境都不相同,你怎么知道自家的軟件,能在那些機(jī)器跑起來?
用戶必須保證兩件事:操作系統(tǒng)的設(shè)置,各種庫和組件的安裝。只有它們都正確,軟件才能運(yùn)行。解釋來說,安裝一個(gè)Python應(yīng)用程序,計(jì)算機(jī)必須有Python引擎,還必須有各種依賴,可能還要配置環(huán)境變量。
開發(fā)者常常會(huì)說:“它在我的機(jī)器可以跑了”(在我的機(jī)器上工作),言下之意就是,其他機(jī)器很可能跑不了。
很多人想到,能不能從根本上解決問題,軟件可以帶環(huán)境安裝?而不是安裝的時(shí)候,把原始環(huán)境一模一樣地復(fù)制過來。
二,虛擬機(jī)
虛擬機(jī)(virtual machine)就是帶環(huán)境安裝的一種解決方案。它可以在一種操作系統(tǒng)里面運(yùn)行另一種操作系統(tǒng),例如在Windows系統(tǒng)內(nèi)部運(yùn)行Linux系統(tǒng)。應(yīng)用程序無需感知,因?yàn)樘摂M機(jī)看上去跟真實(shí)系統(tǒng)一模一樣,而對(duì)于過多系統(tǒng)而言,虛擬機(jī)就是一個(gè)普通文件,不需要了就刪掉了,對(duì)其他部分毫無影響。
(1)資源占用多
它運(yùn)行的時(shí)候,其他程序就不能使用這些資源了。哪怕虛擬機(jī)里面的應(yīng)用程序,真正使用的內(nèi)存只有1MB,虛擬機(jī)仍然需要幾百M(fèi)B的內(nèi)存才能運(yùn)行。
(2)冗余步驟多
虛擬機(jī)是完整的操作系統(tǒng),一些系統(tǒng)等級(jí)的操作步驟,經(jīng)常無法跳過,某些用戶登錄。
(3)啟動(dòng)慢
啟動(dòng)操作系統(tǒng)需要多久,啟動(dòng)虛擬機(jī)就需要多久。可能要等幾分鐘,應(yīng)用程序才能真正運(yùn)行。
三,Linux容器
由于虛擬機(jī)存在這些缺陷,Linux發(fā)展出了另一種虛擬化技術(shù):Linux容器(Linux Containers,簡稱為LXC)。
Linux容器不是模擬一個(gè)完整的操作系統(tǒng),還是對(duì)進(jìn)程進(jìn)行隔離。或者說,在正常進(jìn)程的外面套了一個(gè)保護(hù)層。對(duì)于容器里面的進(jìn)程來說,它接觸到的各種資源都是虛擬的,從而實(shí)現(xiàn)與脆弱系統(tǒng)的隔離。
由于容器是進(jìn)展等級(jí)的,大約虛擬機(jī)有很多優(yōu)勢。
(1)啟動(dòng)快
因此,啟動(dòng)容器相當(dāng)于啟動(dòng)本機(jī)的一個(gè)進(jìn)程,而不是啟動(dòng)一個(gè)操作系統(tǒng),速度就快很多。
(2)資源占用少
容器只占用需要的資源,不占用那些沒有用到的資源;虛擬機(jī)由于是完整的操作系統(tǒng),因此要占用所有資源。另外,多個(gè)容器可以共享資源,虛擬機(jī)都是獨(dú)享資源。
(3)體積小
容器只要包含用到到的組件即可,而虛擬機(jī)是整個(gè)操作系統(tǒng)的打包,那么容器文件比虛擬機(jī)文件要小很多。
總之,容器有點(diǎn)像輕量級(jí)的虛擬機(jī),能夠提供虛擬化的環(huán)境,但是成本增加小幅度。
四,Docker是什么?
Docker屬于Linux容器的一種封裝,提供簡單易用的容器使用接口。它是當(dāng)前最流行的Linux容器解決方案。
Docker將應(yīng)用程序與該程序的依賴,打包在一個(gè)文件里面。運(yùn)行這個(gè)文件,就會(huì)生成一個(gè)虛擬容器。程序在這個(gè)虛擬容器里運(yùn)行,就好像在真實(shí)的物理機(jī)上運(yùn)行一樣。有了Docker,就不用擔(dān)心環(huán)境問題。
總體而言,Docker的接口相當(dāng)簡單,用戶可以方便地創(chuàng)建和使用容器,把自己的應(yīng)用放入容器。容器還可以進(jìn)行版本管理,復(fù)制,共享,修改,就像管理普通的代碼一樣。
五,Docker的用途
Docker的主要用途,目前有三大類。
(1)提供一次性的環(huán)境。例如,本地測試他人的軟件,持續(xù)集成的時(shí)候提供單元測試和內(nèi)置的環(huán)境。
(2)提供彈性的云服務(wù)。因?yàn)镈ocker容器可以隨開隨關(guān),很適合動(dòng)態(tài)擴(kuò)容和縮容。
(3)組建微服務(wù)架構(gòu)。通過多個(gè)容器,一臺(tái)機(jī)器可以運(yùn)行多個(gè)服務(wù),因此在本機(jī)就可以模擬出微服務(wù)架構(gòu)。
Docker部署與VM部署區(qū)別:


2:安裝docker官方安裝文檔地址:https : //docs.docker.com/engine/install/ubuntu/
Linux ubuntu18.04:
1:卸載舊版本(如果安裝過):
$ sudo apt-get刪除docker docker-engine docker.io容器化runc
2:刪除/ var / lib / docker /目錄(如果存在)
3.1:通過OS的軟件倉庫安裝
1:sudo apt-get update#更新下軟件源信息
2:sudo apt-get install \#安裝必要的軟件,讓apt可以通過https安裝docker
apt-transport-https \
ca證書\
卷曲
gnupg-agent \
常用軟件屬性
3: curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add-#添加Docker官方的密鑰
4: sudo add-apt-repository \#添加apt倉庫地址,安裝當(dāng)前操作系統(tǒng)版本可用的docker相關(guān)軟件
“ deb [arch = amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs)\
穩(wěn)定”
5:
sudo apt-get update#更新源
sudo apt-get install docker-ce docker-ce-cli containerd.io#安裝docker軟件
額外信息:
安裝指定版本docker相關(guān)軟件:
1:查看一些碼頭工人版本可用

2:安裝指定版本

<VERSION_STRING>指的是執(zhí)行查看可用版本命令時(shí),第二列里的值

3.2:離線安裝方式
1:通過以下連接下載當(dāng)前操作系統(tǒng)可用的docker版本
https://download.docker.com/linux/ubuntu/dists/





2:安裝.deb包
路徑表示下載地址,xxxx代表我們下載的串聯(lián)
須藤dpkg -i /path/xxxxx.deb
4:安裝后相關(guān)配置
sudo groupadd docker#只要不報(bào)錯(cuò)就可以,可能會(huì)提示用戶組已經(jīng)存在,不用理會(huì)
sudo usermod -aG泊塢窗$ USER
4:驗(yàn)證是否安裝成功
docker run hello-world#輸出hello world表示成功
3:Docker架構(gòu):

名字解釋:
Docker守護(hù)進(jìn)程:Docker守護(hù)進(jìn)程
Docker守護(hù)進(jìn)程(dockerd)偵聽Docker API請(qǐng)求并管理Docker對(duì)象,如圖像,容器,網(wǎng)絡(luò)和卷。守護(hù)進(jìn)程還可以與其他守護(hù)進(jìn)程通信來管理Docker服務(wù)。
Docker客戶端:Docker客戶端:
Docker客戶端(Docker)是Docker用戶與Docker daemon交互的主要方式。
當(dāng)您使用docker run之類的命令時(shí),將這些命令發(fā)送給dockerd,dockerd執(zhí)行這些命令。
docker命令使用dockerAPI。Docker客戶端可以與多個(gè)守護(hù)進(jìn)程通信
Docker注冊(cè)表:Docker XML
存儲(chǔ)Docker映像的地方,Docker中心是一個(gè)公共的注冊(cè)地,任何人都可以通過docker pull
Docker對(duì)象:
圖片:總計(jì):
一些列文件的封裝,包括我們自己的寫的程序和依賴程序,也是一個(gè)模板文件,可以基于這個(gè)并運(yùn)行多個(gè)程序?qū)嵗ㄈ萜鳎?/span>
完全可以繼承,至少基于一個(gè)ubuntu擴(kuò)展,我們可以在里面安裝Nginx,python等軟件形成新的替代
容器:容器:
基于總體運(yùn)行時(shí)生成的實(shí)例,也就是程序運(yùn)行時(shí)
3:常用命令介紹:
泊塢窗運(yùn)行
docker啟動(dòng)/停止/重啟
碼頭工人
碼頭工人rmi
碼頭工人
碼頭工人ps
碼頭工人圖像
碼頭工人提交
碼頭工人搜索
4:基于docker安裝mysql
碼頭工人運(yùn)行-d --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD = 123456 mysql
5:安裝redis
docker運(yùn)行-itd --name redis-test -p 6379:6379 redis
6:Dockerfile文件


浙公網(wǎng)安備 33010602011771號(hào)