您好,登錄后才能下訂單哦!
這篇文章主要介紹“Docker中image container基本操作有哪些”,在日常操作中,相信很多人在Docker中image container基本操作有哪些問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”Docker中image container基本操作有哪些”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!
container
容器。可以把每個(gè) container 看做是一個(gè)獨(dú)立的主機(jī)。 container 的創(chuàng)建通常有一個(gè) image 作為其模板。類比成虛擬機(jī)的話可以理解為 image 就是虛擬機(jī)的鏡像,而 container 就是一個(gè)個(gè)正在運(yùn)行的虛擬機(jī)。一個(gè)虛擬機(jī)鏡像可以創(chuàng)建出多個(gè)運(yùn)行的虛擬主機(jī)且相互獨(dú)立。 注意:container 一旦創(chuàng)建如果沒(méi)有用 rm 命令移除,將會(huì)一直存在。所以用完后記得刪除哦。
image
鏡像。image 相當(dāng)于 container 的模板,container 創(chuàng)建后里面有什么軟件完全取決于它使用什么 image 。image 可以通過(guò) container 創(chuàng)建(相當(dāng)于把此時(shí) container 的狀態(tài)保存成快照),也可以通過(guò) Dockerfile (一個(gè)文本文件,里面使用 docker 規(guī)定的一些寫(xiě)法)來(lái)創(chuàng)建。其中通過(guò) Dockerfile 創(chuàng)建的方法能讓環(huán)境配置和代碼一起被版本庫(kù)一起管理。
registry
存放鏡像的倉(cāng)庫(kù)。只要能連接到 registry 每個(gè)人都可以很方便地通過(guò) pull 命令從倉(cāng)庫(kù)中獲取鏡像。docker 默認(rèn)使用的倉(cāng)庫(kù)是 docker hub,國(guó)內(nèi)可以使用 DaoCloud 來(lái)建立 Mirror 連接到 docker hub,進(jìn)而加快獲取 image 的速度。
boot2docker
一個(gè)輕量級(jí) linux 虛擬機(jī),主要是為了讓非 linux 系統(tǒng)也能用上 docker 。它實(shí)質(zhì)上是一個(gè) virtualbox 虛擬主機(jī)+一個(gè)能管理這個(gè)虛擬主機(jī)的命令行工具。由于這個(gè)虛擬主機(jī)的存在,在非 linux 系統(tǒng)上 container 需要獲取一些物理系統(tǒng)資源(如 usb 設(shè)備)時(shí)不僅需要配置 docker 命令,還需要配置 boot2docker 這個(gè)虛擬主機(jī)的資源配置。
通用:
操作 | 命令 | 示例 |
---|---|---|
查看 docker 版本 | docker version | docker version |
查看 docker 信息 | docker info | docker info |
查看某命令 help 信息 | docker help [command] | docker help attach |
查看 docker help 信息 | docker --help | docker --help |
container 相關(guān):
操作 | 命令 | 示例 |
---|---|---|
創(chuàng)建 container | docker create | docker create chenhengjie123/xwalkdriver |
創(chuàng)建并運(yùn)行 container | docker run | docker run chenhengjie123/xwalkdriver /bin/bash |
創(chuàng)建并運(yùn)行 container 后進(jìn)入其 bash 控制臺(tái) | docker run -t -i image /bin/bash | docker run -t -i ubuntu /bin/bash |
創(chuàng)建并運(yùn)行 container 并讓其在后臺(tái)運(yùn)行,并端口映射 | docker run -p [port in container]:[port in physical system] -d [image] [command] | docker run -p 5000:5000 -d training/webapp python app.py |
查看正在運(yùn)行的所有 container 信息 | docker ps | docker ps |
查看最后創(chuàng)建的 container | docker ps -l | docker ps -l |
查看所有 container ,包括正在運(yùn)行和已經(jīng)關(guān)閉的 | docker ps -a | docker ps -a |
輸出指定 container 的 stdout 信息(用來(lái)看 log ,效果和 tail -f 類似,會(huì)實(shí)時(shí)輸出。) | docker logs -f [container] | docker logs -f nostalgic_morse |
獲取 container 指定端口映射關(guān)系 | docker port [container] [port] | docker port nostalgic_morse 5000 |
查看 container 進(jìn)程列表 | docker top [container] | docker top nostalgic_morse |
查看 container 詳細(xì)信息 | docker inspect [container] | docker inspect nostalgic_morse |
停止 continer | docker stop [container] | docker stop nostalgic_morse |
強(qiáng)制停止 container | docker kill [container] | docker kill nostalgic_morse |
啟動(dòng)一個(gè)已經(jīng)停止的 container | docker start [container] | docker start nostalgic_morse |
重啟 container (若 container 處于關(guān)閉狀態(tài),則直接啟動(dòng)) | docker restart [container] | docker restart nostalgic_morse |
刪除 container | docker rm [container] | docker rm nostalgic_morse |
命令中需要指定 container 時(shí),既可使用其名稱,也可使用其 id 。
image 相關(guān):
操作 | 命令 | 示例 |
---|---|---|
從 container 創(chuàng)建 image | docker commit [container] [imageName] | docker commit nostalgic_morse ouruser/sinatra:v2 |
從 Dockerfile 創(chuàng)建 image | docker build -t [imageName] [pathToFolder] | docker build ouruser/sinatra:v3 . |
查看本地所有 image | docker images | docker images |
在 registry 中搜索鏡像 | docker search [query] | docker search ubuntu |
從 registry 中獲取鏡像 (若無(wú)指定 tag 名稱,則默認(rèn)使用 latest 這個(gè) tag) | docker pull [imageName] | docker pull ubuntu:14.04 , docker pull training/webapp |
給 image 打 tag | docker tag [imageId] [imageName] | docker tag 5db5f8471261 ouruser/sinatra:devel |
把本地 image 上傳到 registry 中 (此時(shí)會(huì)把所有 tag 都上傳上去) | docker push [imageName] | docker push ouruser/sinatra |
刪除本地 image | docker rmi [image] | docker rmi training/sinatra |
注意:image 中沒(méi)有指定 tag 名稱的話默認(rèn)使用 latest 這個(gè) tag 。然而 latest 的含義和 VCS 中的 head 不一樣,不是代表最新一個(gè)鏡像,僅僅是代表 tag 名稱為 latest 的鏡像。若不存在 tag 名稱為 latest 的鏡像則會(huì)報(bào)錯(cuò)。
到此,關(guān)于“Docker中image container基本操作有哪些”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。