小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

docker鏡像創(chuàng)建與基本使用

 許文強(qiáng)1234 2018-08-25

查看鏡像

在docker環(huán)境安裝完成之后,對docker的使用主要集中在docker鏡像的管理與使用。首先是docker鏡像的管理,查看本地有哪些鏡像可以使用命令:

docker images


運(yùn)行鏡像

查看到本地有哪些鏡像后,就可以來運(yùn)行已有的鏡像了,使用命令:
docker run -t -i ubuntu:15.10 /bin/bash

如果該鏡像不存在,會自動嘗試下載對應(yīng)的鏡像,只要遠(yuǎn)程鏡像庫中有同名的鏡像。遠(yuǎn)程鏡像庫默認(rèn)地址為:https://hub./。


搜索/下載鏡像

當(dāng)然我們也可以主動的先把鏡像下載到本地,再運(yùn)行。而下載之前還可以進(jìn)行下搜索,命令如下:

docker search selenium/hub

搜索之后如果有鏡像存在,就可以拉取鏡像了。命令如下:

docker pull selenium/hub

最后運(yùn)行鏡像:
docker run -it selenium/hub

創(chuàng)建鏡像

我們從鏡像倉庫下載的,都是別人事先做好的。如果我們需要一個定制的鏡像,就必須得自己動手了。自己創(chuàng)建一個鏡像有2種方式:
  1. 基于一個現(xiàn)有的鏡像來修改
  2. 基于dockerfile來創(chuàng)建

鏡像修改

鏡像修改的方式是先運(yùn)行一個現(xiàn)有的鏡像,然后在運(yùn)行的容器中進(jìn)行軟件的更新操作。比如:安裝軟件、服務(wù)之類。
  1. >docker run -t -i ubuntu:15.10 /bin/bash
  2. root@e218edb10161:/# apt-get update
  3. root@e218edb10161:/# apt-get install wget
  4. root@e218edb10161:/# exit
在完成軟件安裝/更新/升級之后,需要對該鏡像進(jìn)行提交操作,即做一個保存操作。
docker commit -m="with wget" -a="five3" e218edb10161 five3/ubuntu:v2
-m:提交的描述信息
-a:指定鏡像作者
e218edb10161:容器ID,在容器執(zhí)行時可以在命令行開頭查看。比如:root@e218edb10161中@之后的內(nèi)容。此外還可以通過docker ps來查看
five3/ubuntu:v2:指定要創(chuàng)建的目標(biāo)鏡像名


接著,我們就可以使用新定制的鏡像了。
docker run -t -i five3/ubuntu:v2 /bin/bash  

目前為止,你保存的新鏡像還只是在本地。如果你希望把它更新到docker倉庫,可以使用如下命令:

docker push five3/ubuntu:v2
使用上述命令的前提是你已經(jīng)在https://hub./上注冊了賬戶


dockerfile

使用dockerfile的方式其實(shí)是相當(dāng)于從零開始創(chuàng)建一個新的鏡像,具體步驟是先寫好一個dockerfile文件。然后使用docker build命令來構(gòu)建鏡像,構(gòu)建時會從網(wǎng)上下載及更新基礎(chǔ)鏡像與相關(guān)軟件。


通常一個dockerfile的文件格式如下:
  1. FROM centos:6.7
  2. MAINTAINER Macy "five3@163.com"
  3. RUN /bin/echo 'root:123456' |chpasswd
  4. RUN useradd five3
  5. RUN /bin/echo 'five3:123456' |chpasswd
  6. RUN /bin/echo -e "LANG=\"en_US.UTF-8\"" >/etc/default/local
  7. EXPOSE 22
  8. EXPOSE 80
  9. CMD /usr/sbin/sshd -D
它與shell腳本類似,是一個批處理的過程,但是它具有自己的命令和語法。dockerfile的命令都是大寫的,比如:FROM、RUN等。從上面的dockerfile我們可以大概知道,構(gòu)建的新鏡像都做了什么。


首先,它是基于centos6.7版本來構(gòu)建的【所有的docker鏡像都是基于一個linux系統(tǒng)來的,因?yàn)槭紫人镁邆湟粋€完整的運(yùn)行生態(tài),當(dāng)然也可以是一個非常精簡的linux系統(tǒng),比如:boot2docker】

其次,它的維護(hù)者是Macy,郵箱:five3@163.com
然后,在基礎(chǔ)的centos之上,會運(yùn)行幾條RUN后面的命令。包括修改root密碼,添加一個five3用戶,設(shè)置系統(tǒng)的默認(rèn)編碼為utf-8
接著,通過EXPOSE命令對外開發(fā)了22和80端口。即ssh端口與WEB端口
最后,CMD命令用于設(shè)置鏡像運(yùn)行后的啟動命令。這里是默認(rèn)會啟動ssh服務(wù)。這樣當(dāng)鏡像運(yùn)行之后我們就可以通過ssh連接該容器了


這里需要注意的是,22、80是容器內(nèi)部的軟件端口,雖然對外部開放了,但是外部需要有一個端口映射;在容器之外要連接這2個端口需要連接外部的映射端口。關(guān)于查看外部映射端口可以使用如下命令:
  1. docker port <container ID|container Name> 22
  2. docker port <container ID|container Name> 80

在dockerfile完成之后,我們就可以build自定義的鏡像了。具體命令如下:
docker build -t five3/centos:6.7 /path/to/dockerfile
-t :指定要創(chuàng)建的目標(biāo)鏡像名,注意名稱只能是小寫字母


構(gòu)建完成之后,可以通過docker images來查看鏡像文件,還可以直接運(yùn)行該鏡像:
docker run -t -i five3/centos:6.7  /bin/bash
啟動后通過id命令來檢查用戶five3是否創(chuàng)建成功
id five3







    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多