Docker的安裝及鏡像管理

1. 安裝Docker

blob.png

Docker開源的容器引擎,可以讓開發者打包應用以及依賴的庫,然後發佈到任何流行的linux發行版上,移植很方便;

由go語言編寫,基於apache2.0協議發佈;

基於linux kernel,要想在win下運行需要藉助一個vm(虛擬機)來實現;

自2013年開始,近些年發展迅猛;

docker從1.13x開始,版本分爲社區版ce和企業版ee,並且基於年月的時間線形式;

blob.png

優點:

啓動非常快,秒級實現

資源利用率高,一臺高配置服務器可以跑上千個docker容器

更快的交付和部署,一次創建和配置後,可以在任意地方運行

內核級別的虛擬化,不需要額外的hypevisor支持,會有更高的性能和效率

易遷移,平臺依賴性不強


yum安裝

curl https://download.docker.com/linux/centos/docker-ce.repo -o  /etc/yum.repos.d/docker.repo

yum install -y docker-ce

速度比較慢,大家也可以直接下載rpm包

https://download.docker.com/linux/centos/7/x86_64/stable/Packages/

下載完,上傳到linux下

也需要用yum安裝,可以自動解決依賴關係

yum install -y docker-ce-xxxx.rpm

啓動docker

systemctl start docker

查看進程

ps aux | grep docker

blob.png

自動生成的規則

保存規則:service docker save

blob.png

blob.png

iptables -t nat  -F 清除規則

重啓docker 服務後規則又出自動添加。


2. 鏡像管理

docker pull centos//可以下載centos鏡像,速度很慢

配置docker加速器

(參考 http://blog.csdn.net/xlemonok/article/details/71403534)

vi /etc/docker/daemon.json

#加入如下內容

{

"registry-mirrors": ["https://dhq9bx4f.mirror.aliyuncs.com"]

}

說明:這個url爲加速器地址,需要同學們自行到阿里雲申請

配置完加速器,重啓docker服務,再次docker pull centos會快很多

查看本地的鏡像

docker images

blob.png

搜索鏡像

docker search ubuntu    

其中ubuntu是關鍵詞

blob.png

給鏡像打標籤

docker tag centos fxq123

dokcker tag centos fxqtestos:20180201

blob.png

把鏡像啓動爲容器

docker run -itd centos

//把鏡像啓動爲容器,-i表示讓容器的標準輸入打開,-t表示分配一個僞終端,-d表示後臺啓動,要把-i -t -d 放到鏡像名字前面

blob.png

查看運行的容器

docker ps

查看運行的容器

blob.png

docker ps -a

加上-a選項後可以查看所有容器,包括未運行的

blob.png

刪除指定鏡像

docker rmi centos

docker rmi fxqtestos:20180201

//用來刪除指定鏡像, 其中後面的參數可以是tag,如果是tag時,實際上是刪除該tag。當後面的參數爲鏡像ID時,則會徹底刪除整個鏡像,所有標籤也會一同刪除

blob.png

3. 通過容器創建鏡像

啓動容器

docker run -itd centos /bin/bash

docker run啓動容器後,可以通過下面命令進入容器

進入容器

docker exec -it 992c3e4   bash

//其中992c3e4爲容器id,這個id可以用docker ps查看,最後面的bash爲進入容器後我們要執行的命令,這樣就可以打開一個終端

docker start 992c3e4

docker attach 992c3e4

blob.png

提交容器生成新的鏡像

進入該容器中,我們做一些變更,比如安裝一些東西,然後針對這個容器進行創建新的鏡像

在容器中執行 yum install -y net-tools,然後ctrl d退出容器

docker commit -m "install net-tools" -a "fxq" c901ab1c8028 centos-net

//c901ab1c8028 容器ID通過docker ps -a獲取,後面的centos-net爲新鏡像名字

例如:  docker commit -m "install net-tools" -a "fxq" 2c74d574293f centos_with_nettool 這個命令有點像svn的提交,-m 加一些改動信息,-a 指定作者相關信息  2c74d這一串爲容器id,再後面爲新鏡像的名字

blob.png

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章