溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Docker中image container基本操作有哪些

發(fā)布時(shí)間:2021-12-14 11:30:21 來(lái)源:億速云 閱讀:182 作者:iii 欄目:云計(jì)算

這篇文章主要介紹“Docker中image container基本操作有哪些”,在日常操作中,相信很多人在Docker中image container基本操作有哪些問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”Docker中image container基本操作有哪些”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

image container 基本操作

基本概念:

  • 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 versiondocker version
查看 docker 信息docker infodocker info
查看某命令 help 信息docker help [command]docker help attach
查看 docker help 信息docker --helpdocker --help
  • container 相關(guān):

操作命令示例
創(chuàng)建 containerdocker createdocker create chenhengjie123/xwalkdriver
創(chuàng)建并運(yùn)行 containerdocker rundocker run chenhengjie123/xwalkdriver /bin/bash
創(chuàng)建并運(yùn)行 container 后進(jìn)入其 bash 控制臺(tái)docker run -t -i image /bin/bashdocker 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 psdocker ps
查看最后創(chuàng)建的 containerdocker ps -ldocker ps -l
查看所有 container ,包括正在運(yùn)行和已經(jīng)關(guān)閉的docker ps -adocker 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
停止 continerdocker stop [container]docker stop nostalgic_morse
強(qiáng)制停止 containerdocker kill [container]docker kill nostalgic_morse
啟動(dòng)一個(gè)已經(jīng)停止的 containerdocker start [container]docker start nostalgic_morse
重啟 container (若 container 處于關(guān)閉狀態(tài),則直接啟動(dòng))docker restart [container]docker restart nostalgic_morse
刪除 containerdocker rm [container]docker rm nostalgic_morse

命令中需要指定 container 時(shí),既可使用其名稱,也可使用其 id 。

  • image 相關(guān):

操作命令示例
從 container 創(chuàng)建 imagedocker commit [container] [imageName]docker commit nostalgic_morse ouruser/sinatra:v2
從 Dockerfile 創(chuàng)建 imagedocker build -t [imageName] [pathToFolder]docker build ouruser/sinatra:v3 .
查看本地所有 imagedocker imagesdocker images
在 registry 中搜索鏡像docker search [query]docker search ubuntu
從 registry 中獲取鏡像 (若無(wú)指定 tag 名稱,則默認(rèn)使用 latest 這個(gè) tag)docker pull [imageName]docker pull ubuntu:14.04docker pull training/webapp
給 image 打 tagdocker tag [imageId] [imageName]docker tag 5db5f8471261 ouruser/sinatra:devel
把本地 image 上傳到 registry 中 (此時(shí)會(huì)把所有 tag 都上傳上去)docker push [imageName]docker push ouruser/sinatra
刪除本地 imagedocker 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í)用的文章!

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI