對于流行Docker技術(shù)來說,Windows 操作系統(tǒng)中Docker以及安裝Docker Windows客戶端成為愛好者的一個了解途徑。Docker引擎使用Linux特有內(nèi)核特性,不能通過Windows內(nèi)核運行,Docker引擎創(chuàng)建一個虛擬系統(tǒng)運行Linux并利用它的資源和內(nèi)核。使得Windows Docker客戶端可以用虛擬Docker引擎來構(gòu)建、運行以及管理Docker容器。
近日,從linoxide網(wǎng)站了解,Boot2Docker團隊開發(fā)創(chuàng)建了一個虛擬機來運行基于Tiny Core Linux特制的小型Linux,可以在Windows上運行Docker容器,完全運行在內(nèi)存中,需要大約27M內(nèi)存并能在5秒內(nèi)啟動。
安裝Docker客戶端并運行容器的簡單介紹說明:
1.下載Boot2Docker
在安裝之前,需要Boot2Docker從Github下載最新版本。在此次介紹中下載版 v1.6.1。我們從網(wǎng)頁中用瀏覽器或者下載管理器對docker-install.exe文件下載。
2. 安裝Boot2Docker
接下來運行安裝文件,在過程中進行安裝Window Docker客戶端、用于Windows Git(MSYS-git)、VirtualBox、Boot2Docker Linux ISO以及Boot2Docker管理工具,對于開箱即用地運行全功能的Docker引擎都至關(guān)重要。
3. 運行Boot2Docker
安裝完成組件后,從桌面上的“Boot2Docker Start”快捷方式啟動Boot2Docker,其中要求輸入以后用于驗證的SSH密鑰。然后啟動一個配置好用于管理在虛擬機中運行的Docker unix shell。
為了檢查是否正確配置,運行下面的docker version命令。
4. 運行Docker
由于Boot2Docker Start自動啟動一個已經(jīng)正確設(shè)置好環(huán)境變量的shell,可以使用Docker。請注意,如果我們要將Boot2Docker作為一個遠程Docker守護進程,不要在docker命令之前加sudo。
試試hello-world例子鏡像,它會下載hello-world鏡像,運行并輸出“Hello from Docker”信息。
$ docker run hello-world
5. 使用CMD運行Docker
對于習(xí)慣命令行用戶,開始用命令提示符使用Docker,可以打開命令提示符(CMD.exe)。由于Boot2Docker要求ssh.exe在PATH中,需要在命令提示符中輸入以下命令使得%PATH%環(huán)境變量中包括Git安裝目錄下的bin文件夾。
set PATH=%PATH%;"c:\Program Files (x86)\Git\bin"
運行上面的命令之后,在命令提示符中運行boot2docker start啟動Boot2Docker虛擬機。
注意: 如果machine does no exist錯誤信息,就運行boot2docker init命令。
然后,復(fù)制上圖中控制臺標(biāo)出命令到cmd.exe中為控制臺窗口設(shè)置環(huán)境變量,就可以像平常一樣運行docker容器。
6. 使用PowerShell運行Docker
為了能在PowerShell中運行Docker,需要啟動一個PowerShell窗口并添加ssh.exe到PATH變量。
$Env:Path = "${Env:Path};c:\Program Files (x86)\Git\bin"
運行完上面的命令,還需運行boot2docker start
設(shè)置環(huán)境變量連接到虛擬機內(nèi)部運行的Docker的PowerShell命令。只需在PowerShell中運行這些命令就可以和平常一樣運行docker容器。
7. 用PUTTY登錄
Boot2Docker會在%USERPROFILE%.ssh目錄生成和使用用于登錄的公共和私有密鑰,同時也需要使用這個文件夾中的私有密鑰。私有密鑰通過puttygen.exe需要轉(zhuǎn)換為PuTTY格式。
另外,打開puttygen.exe并從%USERPROFILE%.ssh\id_boot2docker中導(dǎo)入("File"->"Load" 菜單)私鑰,然后點擊"Save Private Key"。然后用保存的文件通過PuTTY用docker@127.0.0.1:2022登錄。
8.Boot2Docker選項
Boot2Docker 管理工具提供了一些命令,如下所示。
$ boot2docker
Usage: boot2docker.exe [<options>] {help|init|up|ssh|save|down|poweroff|reset|restart|config|status|info|ip|shellinit|delete|download|upgrade|version} [<args>]
通過在Windows客戶端使用Docker管理工具,使Docker容器能像在Linux上平滑運行的應(yīng)用程序。其中boot2docker默認用戶的用戶名是docker,密碼是tcuser。最新版本boot2docker設(shè)置了一個host-only的網(wǎng)絡(luò)適配器提供訪問容器的端口。一般來說是192.168.59.103,但VirtualBox的DHCP實現(xiàn)改變。
Windows10/11安裝Linux子系統(tǒng)Ubuntu 20.04LTS,輕松使用生信軟件,效率秒殺虛擬機
很多優(yōu)秀的生物信息學(xué)軟件,如QIIME、QIIME 2、LEfSe等沒有Windows版,而使用VirutalBox虛擬機不僅效率低,而且掛載外部硬盤和使用中也經(jīng)常遇到各種問題,配置和使用詳見 - 擴增子分析流程1. QIIME虛擬機安裝配置及掛載外部目錄。
好在Windows 10自16年9月起支持內(nèi)置Linux系統(tǒng),經(jīng)過幾年發(fā)展后使用也比較穩(wěn)定,目前有最新Linux發(fā)行版Ubuntu 20.04 LTS可用,可直接通過微軟商店(Microsoft Store)安裝。
安裝后可通過程序中的Ubuntu 20.04 LTS直接打開終端使用,也可以Rstudio中的Terimal來調(diào)用,使用非常方便。
圖1. Ubuntu的終端(上)和RStudio中的Terimal(下)使用Windows 10中的Linux子系統(tǒng)
Win 10中的Linux子系統(tǒng)類似于Docker,需要較高的權(quán)限,因此在使用前可以需要調(diào)整一些系統(tǒng)設(shè)置才能順利安裝和使用。
上圖顯示系統(tǒng)需要更新。“立即重新啟動”可使已經(jīng)安裝更新生效。“下載和安裝”可以繼續(xù)安裝更新。可能要反復(fù)下載更新重啟幾次。
顯示“你使用的是最新版本”,系統(tǒng)為最新版。
2. 啟動開發(fā)人員模式
同一個頁面,左側(cè)選擇“開發(fā)者選項” —— 切換至“開發(fā)人員模式”,點擊“是”確認,會自動安裝開發(fā)人員模式程序包,并啟動桌面遠程工具等。
3. 啟動適用于Linux的Windows子系統(tǒng)
Win10開始菜單旁“搜索”按鈕,查找“控制面板”并打開,選擇”程序” —— “程序與功能”子頁面,點擊“啟用或關(guān)閉Windows功能”,托動滾動條至最低部,勾遠“適用于Linux的Windows子系統(tǒng)” ,再點擊“確定”。
程序會自動安裝相關(guān)底層軟件,然后選擇立即重新啟動。
4. Win11還需要安裝 WSL
點擊鏈接下載 https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi,雙擊安裝即可
5. Win11還需要在 PowerShell 中運行下面一句 wsl --set-default-version 1
Win10開始菜單旁“搜索”按鈕,查找“app”并打開“Microsoft Store”,搜索“Ubuntu”,選擇“Ubuntu 20.04 LTS”。
注:20.04 LTS目前是最新版,但新版可能也會出現(xiàn)一些舊軟件沒有測試和優(yōu)化不支持的問題。如果使用的工具出現(xiàn)安裝和使用時系統(tǒng)環(huán)境不支持的問題,可安裝Ubuntu 18.04 LTS嘗試解決。
點擊安裝,需要下載444.6 MB的安裝包。安裝完后“安裝”會變成“啟動”,開始菜單也會增加新的APP“Ubuntu 20.04 LTS”。
注:第一次啟動會進行軟件安裝和布置,須等待幾分鐘。
提示輸入用戶名和密碼。然后進入命令行模式,開始你的分析工作吧!
從https://www.microsoft.com/en-us/p/ubuntu-2004-lts/9n6svws3rx71#activetab=pivot:overviewtab 直接下載 Ubuntu 子系統(tǒng)(報名后也可從我們 QQ 群下載),放在其它盤,然后雙擊打開即可完成安裝。
Ubuntu20.04的安裝目錄:
%userprofile%\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04onWindows_79rhkp1fndgsc\LocalState
其中Linux系統(tǒng)中的根目錄/為其中的rootfs目錄,
你的家目錄(~)則為其中的/home/yourname目錄。
注:%userprofile%代表用戶家目錄,如C:\Users\Yourname\
程序會自動掛載系統(tǒng)硬盤,如c/d盤,分別對應(yīng)的目錄為/mnt/c,/mnt/d,我們開展分析使用windows下的文件也可以輕松找到。
方法1.
在開始菜單中選擇“Ubuntu 20.04 LTS”可以打開終端使用Linux,該終端支持右鍵粘貼功能,方便復(fù)制代碼,在終端中快速粘貼并運行。
方法2. RStudio中使用。
RStudio可以打開Shell流程,逐行運行,方便隨時修改,而且不必復(fù)制和粘貼代碼。
在RStudio的Tools菜單中,選擇Options,切換為Terminal選項卡,修改“New terimnals open with”為“Bash (Windows Subsystem for Linux)”
再打開Rstudio中新的Termianl即為Linux系統(tǒng)的命令行。
在Linux下軟件安裝主要使用conda安裝
# 下載
wget -c https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
# 安裝
bash Miniconda3-latest-Linux-x86_64.sh -b -f
# 加載環(huán)境
~/miniconda3/condabin/conda init
關(guān)閉終端,再重新打開,conda環(huán)境即可生效。