溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么安裝并使用docker

發(fā)布時(shí)間:2021-06-12 12:00:08 來源:億速云 閱讀:153 作者:小新 欄目:編程語(yǔ)言

這篇文章將為大家詳細(xì)講解有關(guān)怎么安裝并使用docker,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

docker是什么?

Docker 是一個(gè)開源的應(yīng)用容器引擎,基于 Go 語(yǔ)言 并遵從Apache2.0協(xié)議開源。
Docker 可以讓開發(fā)者打包他們的應(yīng)用以及依賴包到一個(gè)輕量級(jí)、可移植的容器中,然后發(fā)布到任何流行的 Linux 機(jī)器上,也可以實(shí)現(xiàn)虛擬化。
容器是完全使用沙箱機(jī)制,相互之間不會(huì)有任何接口,更重要的是容器性能開銷極低。

為什么要用docker?

在沒有用docker之前,我們需要在本地,測(cè)試,線上部署相同的環(huán)境,相同的軟件每個(gè)環(huán)境都要安裝一次,并且每來一個(gè)新同事,相同的環(huán)境有要重新安裝一遍,很麻煩且過于重復(fù)。docker可以完美的解決這個(gè)問題。
用docker之后我們只需要在本地,測(cè)試,線上分別安裝相同的docker,然后在本地搭建環(huán)境,將搭建好的環(huán)境容器生成docker鏡像,只要將這個(gè)docker鏡像提供給測(cè)試和線上即可構(gòu)建出相同的環(huán)境,在代碼部署上我們可以利用docker數(shù)據(jù)卷將本地項(xiàng)目目錄文件直接掛載到測(cè)試環(huán)境中

docker在windows上的安裝

Docker for Windows是一個(gè)Docker Community Edition(CE)應(yīng)用程序。Docker for Windows安裝包包含了在Windows系統(tǒng)上運(yùn)行Docker所需的一切。如果你不想裝虛擬機(jī),想直接在你的Windows操作系統(tǒng)中安裝與學(xué)習(xí)使用docker,那么你首先得查看你的系統(tǒng)是否滿足Docker for Windows的安裝與使用要求。

  1. 1. Docker for Windows的當(dāng)前版本運(yùn)行在64位Windows 10 Pro,專業(yè)版、企業(yè)版和教育版(1607年紀(jì)念更新,版本14393或更高版本)上。Ps:家庭版是不行的,如果你是家庭版,那么一是升級(jí)到專業(yè)版,破解專業(yè)版推薦個(gè)地址:http://blog.csdn.net/SONGCHUNHONG/article/details/78006389 ,二是安裝Docker Toolbox,自行網(wǎng)上百度http://blog.csdn.net/tina_ttl/article/details/51372604

  2. 2. 如果你滿足Docker for Windows的環(huán)境條件了,那么首先檢查電腦的虛擬化開啟了沒有:進(jìn)入任務(wù)管理器(ctrl+alt+delete),點(diǎn)擊性能->cpu ,查看虛擬化是否已啟用,如果虛擬化是已禁用,那么你需要重啟電腦進(jìn)入bios開啟虛擬化(我們的發(fā)的筆記本cpu都是支持虛擬化的,重啟時(shí)進(jìn)入bios按esc -> 再按f12 -> 去開啟虛擬化)

    3. 開啟虛擬化重啟后,進(jìn)入任務(wù)管理器看虛擬化是否已啟用。 
    怎么安裝并使用docker

    4. 然后再是進(jìn)入電腦的控制面板->程序->啟用或關(guān)閉Windows功能->把Hyper-v勾上,啟用后電腦會(huì)重啟,后面就可以下載并安裝Docker for Windows了。 
    怎么安裝并使用docker

docker在mac上的安裝

在docker官網(wǎng)上我們可以直接下載Docker Desktop (Mac) 可直接在https://hub.docker.com/editions/community/docker-ce-desktop-mac下載(需要登錄),下載后雙擊執(zhí)行docker.dmg正常安裝即可
啟動(dòng)docker后在系統(tǒng)菜單欄我們可以看到docker標(biāo)志,說明docker安裝成功

docker鏡像加速

參考http://guide.daocloud.io/dcs/daocloud-9153151.html#docker-toolbox設(shè)置鏡像加速

怎么安裝并使用docker

docker基本命令

// 列出本地已有鏡像docker images// 從遠(yuǎn)端下載鏡像docker pull <image name>// 使用鏡像創(chuàng)建并啟動(dòng)一個(gè)容器(若本地沒有該鏡像,則會(huì)先從遠(yuǎn)端下載,每次run都會(huì)生成一個(gè)容器,嗯,輕量~)docker run hub.c.163.com/library/hello-world:latest//列出正在運(yùn)行的容器docker ps// 列出所有容器(包括Exited)docker ps -a// 啟動(dòng)指定的容器docker start <container id>// 停止指定的容器docker stop <container id>// 停止所有運(yùn)行中的容器docker stop $(docker ps -q)// 刪除指定容器docker rm <container id>//刪除所有容器docker rm $(docker ps -aq)//停止并刪除容器docker stop $(docker ps -q) & docker rm $(docker ps -aq)// 刪除指定鏡像(刪除鏡像前須先停止并刪除容器)docker rmi <image id>// 重啟容器docker restart <container id>// 創(chuàng)建一個(gè)新的容器并運(yùn)行一個(gè)命令docker run [OPTIONS] IMAGE [COMMAND] [ARG...]-a stdin: 指定標(biāo)準(zhǔn)輸入輸出內(nèi)容類型,可選 STDIN/STDOUT/STDERR 三項(xiàng);-d: 后臺(tái)運(yùn)行容器,并返回容器ID;-i: 以交互模式運(yùn)行容器,通常與 -t 同時(shí)使用;-p: 端口映射,格式為:主機(jī)(宿主)端口:容器端口-t: 為容器重新分配一個(gè)偽輸入終端,通常與 -i 同時(shí)使用;--name="nginx-lb": 為容器指定一個(gè)名稱;--dns 8.8.8.8: 指定容器使用的DNS服務(wù)器,默認(rèn)和宿主一致;--dns-search example.com: 指定容器DNS搜索域名,默認(rèn)和宿主一致;-h "mars": 指定容器的hostname;-e username="ritchie": 設(shè)置環(huán)境變量;--env-file=[]: 從指定文件讀入環(huán)境變量;--cpuset="0-2" or --cpuset="0,1,2": 綁定容器到指定CPU運(yùn)行;-m :設(shè)置容器使用內(nèi)存最大值;--net="bridge": 指定容器的網(wǎng)絡(luò)連接類型,支持 bridge/host/none/container: 四種類型;--link=[]: 添加鏈接到另一個(gè)容器;--expose=[]: 開放一個(gè)端口或一組端口;// 交互運(yùn)行docker run -it centos /bin/bash   /bin/bash 是進(jìn)入到linux中命令行// 進(jìn)入容器docker exec -it centos /bin/bash// 容器拷貝到主機(jī)docker cp <container id>:文件路徑 主機(jī)目標(biāo)路徑// 主機(jī)拷貝到容器docker cp 主機(jī)文件路徑 <container id>:文件路徑//查看容器IPdocker inspect -f '{{.NetworkSettings.IPAddress}}' centos

win7上文件以數(shù)據(jù)卷的形式掛載到docker容器中

1.先設(shè)置 win7 到 VirtualBox 中 docker 用的那個(gè)虛擬機(jī)的共享文件夾
 填寫好共享文件夾路徑和名稱。如:共享文件夾路徑:E:\ 共享文件夾名稱: e
 然后勾選自動(dòng)掛載和固定分配
2.重啟 docker
3. docker run -it -v /test:/var/www myimage /bin/bash

制作鏡像

在上面的鏡像容器中我們可以搭建自己所需要的各種環(huán)境,搭建好后可將這個(gè)更改后的容器打包成一個(gè)鏡像,并上傳到鏡像倉(cāng)庫(kù)供大家使用
在搭建好環(huán)境的容器中退出時(shí)我們應(yīng)當(dāng)使用ctrl+p+q快捷鍵,而不是exit退出,因?yàn)檫@樣直接退出會(huì)關(guān)閉當(dāng)前容器
docker commit :從容器創(chuàng)建一個(gè)新的鏡像。

docker commit -a "name" -m "this is profile" <container id> imageName

這里以阿里云為例,將鏡像推送到Registry

$ sudo docker login --username=jesse131 registry.cn-shenzhen.aliyuncs.com$ sudo docker tag [ImageId] registry.cn-shenzhen.aliyuncs.com/mirror-study/study:[鏡像版本號(hào)]$ sudo docker push registry.cn-shenzhen.aliyuncs.com/mirror-study/study:[鏡像版本號(hào)]

從網(wǎng)上拉取上傳的鏡像

$ sudo docker pull registry.cn-shenzhen.aliyuncs.com/mirror-study/study:[鏡像版本號(hào)]

如果不想通過網(wǎng)絡(luò)拉去鏡像也可以通過U盤拷貝鏡像

導(dǎo)出鏡像到本地
docker save <container id> -o d:/www/centos.tar
加載本地鏡像
docker load -i d:/www/centos.tar

在PowerShell中設(shè)置 tab鍵自動(dòng)補(bǔ)全(其實(shí)用的都是cmd.exe)

  1. 啟動(dòng)一個(gè)的PowerShell(即以管理員身份運(yùn)行)。搜索PowerShell,右鍵單擊,然后選擇以管理員身份運(yùn)行。在PowerShell提示符下鍵入: 
    Set-ExecutionPolicy RemoteSigned

  2. 檢查策略設(shè)置是否正確,運(yùn)行:get-executionpolicy 
    應(yīng)該返回RemoteSigned。

  3. 安裝posh-dockerPowerShell模塊以自動(dòng)完成Docker命令,鍵入:Install-Module posh-docker或者,要僅為當(dāng)前用戶安裝模塊,鍵入: 
    Install-Module -Scope CurrentUser posh-docker

  4. 安裝完成后,只能為當(dāng)前PowerShell啟用自動(dòng)完成功能,輸入:Import-Module posh-docker

  5. 為了在所有PowerShell會(huì)話中保持Tab完成狀態(tài)$PROFILE,請(qǐng)?jiān)赑owerShell提示符處輸入:

if (-Not (Test-Path $PROFILE)) { New-Item $PROFILE –Type File –Force}Add-Content $PROFILE "`nImport-Module posh-docker"

這將創(chuàng)建一個(gè)$PROFILE如果不存在,并將此行添加到文件中: 
Import-Module posh-docker 
要檢查文件是否已正確創(chuàng)建,或只需手動(dòng)編輯,請(qǐng)?jiān)赑owerShell中鍵入以下內(nèi)容: 
Notepad $PROFILE 
打開一個(gè)新的PowerShell會(huì)話?,F(xiàn)在,當(dāng)你鍵入的前幾個(gè)字母后按Tab鍵,Docker命令(如開始,停止,運(yùn)行及其選項(xiàng))以及容器和映像名稱現(xiàn)在都應(yīng)該自動(dòng)完成。 

了解集群

swarm是運(yùn)行Docker并加入到一個(gè)集群中的一組機(jī)器。但是現(xiàn)在它們將由群集管理器在群集上執(zhí)行。群體中的機(jī)器可以是物理的或虛擬的。加入群體后,他們被稱為節(jié)點(diǎn)。 
Swarm管理人員可以使用多種策略來運(yùn)行容器,比如“最空的節(jié)點(diǎn)”(emptiest node) - 它使用容器填充最少使用的機(jī)器?;颉叭帧?,這確保了每臺(tái)機(jī)器只能得到指定容器的一個(gè)實(shí)例。您可以指示swarm manager在Compose文件中使用這些策略。 
群體管理者是群體中唯一可以執(zhí)行你的命令的機(jī)器,或者授權(quán)其他機(jī)器作為工作者加入群體。工人提供能力,并沒有權(quán)力告訴任何其他機(jī)器可以做什么和不可以做什么。 
到目前為止,之前都是在本地機(jī)器上以單主機(jī)模式使用Docker。但是Docker也可以切換到群集模式,這就是使用群集的原因。啟用群模式使當(dāng)前機(jī)器成為群管理器。則Docker將運(yùn)行您正在管理的群集上執(zhí)行的命令,而不僅僅是在當(dāng)前的機(jī)器上。

關(guān)于“怎么安裝并使用docker”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI