中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

linux docker虛擬化技術怎么用

發布時間:2022-01-20 15:22:09 來源:億速云 閱讀:164 作者:iii 欄目:開發技術

這篇文章主要介紹了linux docker虛擬化技術怎么用的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇linux docker虛擬化技術怎么用文章都會有所收獲,下面我們一起來看看吧。

1.docker虛擬化技術介紹:

Docker的思想來自于集裝箱,集裝箱解決了什么問題?在一艘大船上,可以把貨物規整的擺放起來。并且各種各樣的貨物被集裝箱標準化了,集裝箱和集裝箱之間不會互相影響。那么我就不需要專門運送水果的船和專門運送化學品的船了。只要這些貨物在集裝箱里封裝的好好的,那我就可以用一艘大船把他們都運走。

docker就是類似的理念。現在都流行云計算了,云計算就好比大貨輪。docker就是集裝箱。

主要解決的問題:不同的應用程序可能會有不同的應用環境。

2.docker與其他虛擬機技術優勢

Docker 在容器的基礎上,進行了進一步的封裝,從文件系統、網絡互聯到進程隔離等等,極大的簡化了容器的創建和維護。使得 Docker 技術比虛擬機技術更為輕便、快捷。

下面的圖片比較了 Docker 和傳統虛擬化方式的不同之處。傳統虛擬機技術是虛擬出一套硬件后,在其上運行一個完整操作系統,在該系統上再運行所需應用進程;而容器內的應用進程直接運行于宿主的內核,容器內沒有自己的內核,而且也沒有進行硬件虛擬。因此容器要比傳統虛擬機更為輕便。

對比傳統虛擬機總結

特性Docker傳統虛擬機
啟動秒級分鐘級
硬盤使用一般為 MB一般為 GB
性能接近原生弱于
系統支持量單機支持上千個容器一般幾十個

3. 鏡像、容器和倉庫

Docker 由鏡像(Image)、容器(Container)、倉庫(Repository) 三部分組成。

Docker 的鏡像(Image)可以簡單的類比為電腦裝系統用的系統盤,包括操作系統,以及必要的軟件。例如,一個鏡像可以包含一個完整的 centos 操作系統環境,并安裝了 samtools和 bwa 服務器。注意的是,鏡像是只讀的。這一點也很好理解,就像我們刻錄的系統盤其實也是可讀的。我們可以使用 docker images 來查看本地鏡像列表。

Docker 的容器(Container)可以簡單理解為提供了系統硬件環境,它是真正跑項目程序、消耗機器資源、提供服務的東西。例如,我們可以暫時把容器看作一個 Linux 的電腦,它可以直接運行。那么,容器是基于鏡像啟動的,并且每個容器都是相互隔離的。注意的是,容器在啟動的時候基于鏡像創建一層可寫層作為最上層。我們可以使用 docker ps -a 查看本地運行過的容器。

Docker 的倉庫(Repository)用于存放鏡像。這一點,和 Git 非常類似。我們可以從中心倉庫下載鏡像,也可以從自建倉庫下載。同時,我們可以把制作好的鏡像 commit 到本地,然后 push 到遠程倉庫。倉庫分為公開倉庫和私有倉庫,最大的公開倉庫是官方倉庫 Dock Hub,國內的公開倉庫也有很多選擇,例如阿里云等。

Docker Registry:鏡像的倉庫,比如官方的是Docker Hub。如果要在其它服務器上使用鏡像,我們就需要一個集中的存儲、分發鏡像的服務,Docker Registry就是這樣的服務。

  • Registry:注冊服務器,用于管理鏡像倉庫,起到的是服務器的作用。

  • Repository:鏡像倉庫,用于存儲具體的docker鏡像,起到的是倉庫存儲作用。


4.docker學習使用

  • Docker 官網 :https://www.docker.com/

  • docker官方鏡像:https://hub.docker.com/

4.1 docker安裝(Linux centos7)

安裝很簡單,建議使用root賬號安裝 :使用centos7自帶的yum自動安裝

yum -y install docker
systemctl start docker   #啟動 docker 服務
systemctl enable docker  #設置開機啟動docker服務
docker version    #顯示 Docker 版本信息
docker info   #顯示docker安裝信息

普通用戶要使用docker服務設置:設置非root賬號使用docker服務

4.2 下載公共數據庫docker HUb上的docker鏡像

從 Docker Hub 中搜索符合條件的鏡像。

docker search qiime

從公網docker hub 拉取(下載)image   pull

docker pull  docker.io/centos

可能由于網絡的問題會有報錯。 無法連接到dockerhub 下載鏡像。 如果你的網絡沒有問題,你可以下載。

解決: 使用阿里云docker鏡像加速,提升pull的速度:

你只需要登錄容器Hub服務 https://cr.console.aliyun.com的控制臺,使用你的支付寶帳號,第一次登錄時,需要設置一個獨立的密碼,左側的加速器幫助頁面就會顯示為你獨立分配的加速地址。

修改配置文件: vim  /etc/docker/daemon.json     #大括號{}中添加鏡像地址:

{
 "registry-mirrors":["https://koq0g34v.mirror.aliyuncs.com"]
}

然后重啟docker,生效

systemctl daemon-reload 
systemctl restart docker
docker pull docker.io/centos  #再下載,就可以了。

如果上面的鏡像下載還是慢的話,可以使用共有的國內地址

{
  "registry-mirrors": ["https://registry.docker-cn.com"]
}

4.3 從本地加載別人分享的鏡像

docker load -i /root/docker.io-centos.tar.gz

4.4 鏡像查看與刪除

以下為后臺鏡像查看

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
root/sra-toolkit    2.9.2               e8a5657b4e83        About an hour ago   615 MB
root/sra-toolkit    latest              e8a5657b4e83        About an hour ago   615 MB
docker.io/ubuntu    18.04               72300a873c2c        2 weeks ago         64.2 MB
docker.io/centos    latest              470671670cac        7 weeks ago         237 MB

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
root/sra-toolkit    2.9.2               e8a5657b4e83        About an hour ago   615 MB
root/sra-toolkit    latest              e8a5657b4e83        About an hour ago   615 MB
docker.io/ubuntu    18.04               72300a873c2c        2 weeks ago         64.2 MB
docker.io/centos    latest              470671670cac        7 weeks ago         237 MB

Untagged: root/sra-toolkit:2.9.2
Untagged: root/sra-toolkit:latest
Deleted: sha256:e8a5657b4e838d3ce6581666752a9b428f4a1da9dd76ddac7cde90c93a93956f
Deleted: sha256:97df9b1202930ab3020ee1c503db104a02b932459e32bf95a4ad0c3082d572c2
Deleted: sha256:d81f279ea371ed4a05be93b3bc71726e3a38350ecaa7e19fc23c87fd61759c02
Deleted: sha256:988d8a9b4254d04e208ec281aa36cbce1bef5c4e51eae806b659387a57136b0f
Deleted: sha256:f778d0a1217a6a761ebad2dbff6ce5f34419d668410a4b34a986c47e3ba31b3f
Deleted: sha256:6f6d62c5d1b06671066794c4640c4959b7db0773474ce92b277256759de1a14f
Deleted: sha256:844f6b3eaaf0f3de53e0e72f676c455563a92d8ecce95f5edc5b03356415c2e7
Deleted: sha256:9373d3173020d86eb103eac32db58836c73670e6a3440f0598324b52a2b3a542
Deleted: sha256:ba7d13644b61b58c0f03abfdae3d208ef2f4819516ccfef56094927772a67e38
Deleted: sha256:9a8a3c79c50a7bac2ef01a5a73e2de9a2cac2117c308ca50eac77d4b3fbd0635
Deleted: sha256:6ba2b38850a58bf10195058e1952bad44c5d7240b62430ea6c553a62177d5895
Deleted: sha256:fe39aa1e284cea7136534344a139d8a1acbd079054639192541478ee94f2f055
Deleted: sha256:7439f6e10a4be5d6982f7f370cf5560a31cfb4cc3f69e807be22da1d02286fea
Deleted: sha256:0108cbe087a1f29916bcfbefdf9fe118eef0c69ea4eea4705c89ffc4da7dd1fa

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
docker.io/ubuntu    18.04               72300a873c2c        2 weeks ago         64.2 MB
docker.io/centos    latest              470671670cac        7 weeks ago         237 MB

5. docker平臺基本使用方法

5.1 運行一個 container并加載鏡像centos

運行起來這個實例后,在實例中執行 /bin/bash命令

[root@omisclass ~]# docker images    #查看鏡像 等于命令 docker image ls
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
docker.io/centos    latest              470671670cac        7 weeks ago         237 MB
[root@omisclass ~]# docker run  -it docker.io/centos:latest /bin/bash     #交互式運行container
[root@f866b20aea91 /]# exit     #退出
exit
[root@omisclass ~]#

docker常用參數:

run  運行

-i   以交互模式運行容器,通常與 -t 同時使用;

-t  為容器重新分配一個偽輸入終端,通常與 -i 同時使用;

5.2 外掛數據到docker中

docker run  -v /root/mydata:/data --privileged=true --rm -it docker.io/centos:latest /bin/bash

-it:這是兩個參數,一個是 -i:交互式操作,一個是 -t 終端。我們這里打算進入 bash 執行一些命令并查看返回結果,因此我們需要交互式終端。

--rm:這個參數是說容器退出后隨之將其刪除。默認情況下,為了排障需求,退出的容器并不會立即刪除,除非手動 docker rm。我們這里只是隨便執行個命令,看看結果,不需要排障和保留結果,因此使用 --rm 可以避免浪費空間。

/bin/bash:放在鏡像名后的是 命令,這里我們希望有個交互式 Shell,因此用的是 /bin/bash。

--privileged=true避免掛載的數據目錄權限問題

5.3  后臺運行docker容器

如果你的命令已經寫好,不需要進入docker,直接后臺運行就可以:

docker run -d docker.io/centos:latest /bin/bash -c "while true;do echo hello world; sleep 1; done"

-d  后臺運行容器,并返回容器ID;
-c  后面跟待完成的命令

6 docker中常用的命令總結(選修)

關于容器一些操作命令

docker ps -a  #-a 列出所有容器container(包含沉睡/退出狀態的容器);
docker kill 1629581081a1  #殺死一個容器 
docker rm  e085da6919af   #刪除容器
docker rm -f 1a63ddea6571  #強制刪除容器
docker stop 1a63ddea6571  #關閉容器

容器導入與導出

docker export 7691a814370e |gzip > ubuntu.tar.gz   #導出容器
zcat ubuntu.tar.gz | docker import - test/ubuntu:v1.0  #導入容器為鏡像

鏡像保存與加載

docker save docker.io/centos | gzip > rna.tar.gz  #鏡像保存
docker load -i rna.tar.gz     #鏡像加載

提交自己的鏡像到Docker Hub

用戶也可以在登錄后通過 docker push 命令來將自己的鏡像推送到 Docker Hub。以下命令中的 username 請替換為你的 Docker 賬號用戶名。

docker tag ubuntu:18.04 username/ubuntu:18.04
docker image ls

關于“linux docker虛擬化技術怎么用”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“linux docker虛擬化技術怎么用”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

汝阳县| 长武县| 公主岭市| 美姑县| 巴塘县| 沙湾县| 安福县| 贡嘎县| 曲麻莱县| 祁连县| 朔州市| 定襄县| 柏乡县| 巫山县| 宜阳县| 嵊州市| 滦平县| 莒南县| 山东省| 通山县| 桓台县| 枣强县| 额敏县| 天津市| 赣州市| 台中县| 河源市| 普安县| 深州市| 资兴市| 兴海县| 左权县| 京山县| 左贡县| 自贡市| 鸡西市| 凭祥市| 新密市| 云龙县| 翁源县| 福清市|