Docker Toolbox安裝


公司最近搭建docker環境,其中會遇到一些問題,在這里記錄一下。

先來了解一下docker

一、基本概念

1.Docker中基本概念
鏡像(Image)

 提到鏡像,有對操作系統有一定認知的都知道,鏡像是一個壓縮的ISO文件,里面包含操作系統運行所需要的運行環境以及庫文件,配置文件等等。從認識上簡單的來說,鏡像就是面向對象中的類,相當於一個模板。從本質上來說,鏡像相當於一個文件系統。而docker鏡像相當於是一個root文件系統,除了提供容器運行所需要的程序,庫,資源,配置等文件還包括運行時准備的一些配置參數(匿名卷,環境變量,用戶等)。鏡像不包含任何動態數據,在構建完成之后本層鏡像就不會被改變。

              docker鏡像在設計之時,就充分使用Union FS 技術,並被設計為分層存儲的架構。所以與傳統意義上的鏡像有着很大不同,它並非體現為一個打包的文件,而是由一組文件系統組成,或者說由多層文件系統聯合組成。

               鏡像構建時,由下網上一層一層構建,每一層構建完成后就不會發生改變,后一層上對上一層的改變都發生在本本層。刪除上一層文件也只是標記刪除,並不會影響上一層。所以,構建鏡像時,每一層盡量包含本層需要的東西,其他額外的東西應該在構建結束前清理掉。

容器(Container)

容器的實質是進程,是鏡像的實例化, 但與直接在宿主執行的進程不同,容器進程運行與屬於自己獨立的命名空間,因此容器可以擁有自己的root文件系統,自己的網絡配置,自己的進程空間。實質是進程,所以擁有進程的所有特性,可以被創建,啟動,暫停,停止,刪除等。 

           由於鏡像的特殊架構,使用分層存儲,容器運行時,以鏡像為基礎層,在基礎層上,創建當前容器存儲層,相當於進程的棧空間。容器存儲層和容器一樣,容器進程退出時,其對應的容器存儲層也隨之消亡。所以容器運行時產生的任何數據都不應放在容器存儲層,所有文件寫入操作都應該使用數據卷,或者綁定宿主目錄,直接對宿主發生讀寫。

倉庫(Repository)

  倉庫保存定義好的鏡像,提供保存,下載,版本管理等等功能。通常一個docker Registry 服務包含多個倉庫,每個倉庫可以包含多個標簽tag,每個標簽對應一個鏡像。若包含的鏡像相同版本不同,通常以標簽分別標識,我們可以通過<倉庫名>:<標簽>指定具體那個鏡像。如果不給出標簽默認以latest作為默認標簽。

          公開的倉庫服務有很多,默認使用官方的Docker hub ,它擁有大量高質量的官方鏡像,此外還有coreOs的Quay.io,google 的Goolge Container Registry(K8S),國內訪問可能會比較慢,所以國內的雲服務商提供了一些針對Docker Hub的鏡像服務,常見有:阿里雲加速器,DaoCloud 加速器,靈雀雲加速器。

            國內也有類似Docker Hub的倉庫服務。比如時速運鏡像倉庫,網易雲鏡像服務,DaoCloud鏡像市場,阿里雲鏡像庫等。當然有公開的倉庫服務,自己也可以搭建私庫,常見使用sonatype Nexus 以及 WMWare Harbor搭建私庫,有時間學習一波再來更新。

(非原創,摘自https://blog.csdn.net/qq_40101333/article/details/81129248 )

2.Docker Toolbox

Docker Toolbox是作為不滿足 Docker 安裝要求的舊 Mac 系統/舊 Windows 系統的一種解決方案。

Docker Toolbox 里面包含啥?:

Docker Machine:用於運行 docker-machine commands

Docker Engine:用於運行行 docker commands

Docker Compose:用於運行 docker-compose commands

Kitematic:一個 Docker GUI,即一個 Docker 圖形用戶界面

Docker QuickStart shell:一個預配置好了 Docker command-line environment 的 shell

Oracle VirtualBox  :虛擬機

3 What you get and how it works  你會下載到啥?它是怎么工作的?

下載的內容包括:Docker Machine、Docker Engine、Docker Compose、Kitematic、Docker QuickStart shell、Oracle VirtualBox 

因為 Docker Engine 的守護進程依賴於 特定的 Linux 內核特性,所以你不能在 Windows 本地直接運行 Docker Engine。

因此,必須使用 Docker Machine command、docker-machine 來創建和連接到一個本地機器上的 small Linux VM。

這個 Linux VM 在你的 Windows 系統上為你運行着 Docker Engine。

二、安裝

因為只在win系統下操作過安裝,所以只說win的安裝方法,Linux以后用到的話就再補充

1.查看當前系統版本是否支持docker安裝

(1)支持直接安裝 Docker for Windows 的

如果是 64位 Windows 10 Pro/Enterprise/Education,並且帶有 Microsoft Hyper-V,則可以直接安裝 Docker for Windows。

(2)不支持的上述版本的,安裝Docker Toolbox

如果我們的機器不是 64 Windows 10 Pro/Enterprise/Education,那么就需要額外做一些工作:安裝 Docker Toolbox

(我的電腦是WINDOWS 家庭版本,所以以下安裝方法是基於Docker Toolbox的操作步驟

2. 安裝條件檢查

1.檢查 Windows 系統是否是 Windows 7 及更高版本。如果滿足文章開頭說的第一種情況的,則建議直接安裝 Docker for Windows。

官網下載路徑:https://docs.docker.com/docker-for-windows/install/

 Docker支持64 位版本的Windows 10 Pro,且必須開啟Hyper-V

(1)確定 Windows 系統支持 Hardware Virtualization Technology 並已啟用。

(查看方法:Ctrl+Alt+Delete 打開任務管理器 –> 選擇性能選項卡即可看到虛擬化的狀態,在虛擬化后面跟的是已啟用則表示已正常開啟,否則未開啟。)

 

(2)檢查 Windows 系統的位數,必須是 64位的系統。

2.其他版本的安裝 

(1)先下載 Docker Toolbox for Windows 安裝包

官網下載路徑:https://docs.docker.com/toolbox/overview/

 

Docker Toolbox的安裝

(1)雙擊安裝包進行安裝Docker Toolbox

選擇安裝目錄,一路下一步,最終安裝完成

 

安裝完成后,在你電腦桌面上看到新增了三個圖標

 

(3)打開Docker Quickstart Terminal圖標,啟動一個終端,它會做一些事情來初始化 Docker Toolbox。

        第一次啟動的話你會看到命令行會輸出一些東西,等待一下,它會配置Docker Toolbox,當它完成后,你會看到啟動成功的畫面

 

 這個終端是一個特殊的 bash 環境,而不是標准的 Windows 命令行工具。這個 bash 是 Docker 所必須的

 (4)在命令行中輸入docker run hello-world並按回車鍵,如果docker配置成功的話,你會看到命令行中有如下輸出:

 

三、問題記錄

在第一次打開終端的時候,遇到了各種報錯

(1)error in driver during machine creation:This computer doesn’t have VT-X/AMD-v enabled .Enabling it in the BIOS is mandatory

 

 

這個意思就是說你的虛擬機沒有打開,這時手動打開虛擬機會發現下面問題:

這時當使用VirtualBox啟動虛擬機時提醒“虛擬電腦控制台 - 錯誤”,說明你電腦虛擬化技術處於被禁用狀態。
這時就要啟動BIOS的虛擬化設置 | 開啟CPU虛擬化支持。
重啟電腦后按F2或F10進入BIOS界面(不同主板型號進入BIOS所需按鍵不同)。
進入BIOS界面:Configuratio > Intel Virtualization Technology > Enabled。
注:主板不一樣其BISO中顯示關鍵詞也不一樣的,主要是找到Virtual或Virtualization將其設置為Enabled。
(2)Looks like something went wrong in step ´Finalize´...

解決方法:找到docker toolbox的安裝目錄,找到start.sh文件,把其中的clear注釋掉  示例: #clear

(3)Looks like something went wrong in step ´Checking if machine default exists´... Press any key to con

報錯信息如下:

 

這是因為,啟動時如果檢測到沒有 Boot2Docker,就會去下載,這個下載過程出現網絡連接上的錯誤了,導致啟動失敗

 1.先刪除下載失敗的臨時文件 (c盤-用戶-找到當前用戶)

C:\Users\wj\.docker\machine\cache

2.自己用其他工具去下載對應的 boot2docker.iso 文件

         我是直接用的其他同事正常安裝上的文件

3.然后放置到對應的目錄

4.重新打開Docker Quickstart Terminal

(4)looks like something went wrong in step ‘looking for vboxmanage.exe’

 問題是 Docker 找不到 vboxmanage.exe,查看 Docker 安裝目錄下的 start.sh,發現以下代碼片段:

此腳本是使用 VBOX_MSI_INSTALL_PATH 和 VBOX_INSTALL_PATH 這兩個環境變量來定位 VBoxManage.exe 的,查看一下自己的環境變量,是否存在(有其中一個即可)。

我的有設置,但是設置的是 D:\VirtualBox,對比以上代碼不難發現問題所在,改為 D:\VirtualBox\ 就好了!

四、簡單命令

 在$后輸入各種docker命令就可以使用docker了

(1)查看docker的版本信息

        docker info

(2)登陸docker Hub的賬號

      docker login

      然后,輸入用戶名和密碼

       在使用docker時,是否登陸沒有特別大的影響,區別是 :如果登陸了,就可以向docker hub上push自己的鏡像了

(3)查看本機images

    docker images

(4)查看本機運行的container

     docker ps

(5)從dockerhub上pull 鏡像

    docker pull 鏡像名稱

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM