您好,登錄后才能下訂單哦!
這篇文章主要介紹“docker的常用命令怎么使用”,在日常操作中,相信很多人在docker的常用命令怎么使用問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”docker的常用命令怎么使用”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!
列舉常用的命令,不常用的已省略。
啟動(dòng)docker: systemctl start docker
停止docker: systemctl stop docker
重啟docker: systemctl restart docker
查看docker狀態(tài): systemctl status docker
開機(jī)啟動(dòng): systemctl enable docker
查看docker概要信息: docker info
查看docker總體幫助文檔: docker --help
查看docker命令幫助文檔: docker 具體命令 --help
列出本地主機(jī)上的鏡像: docker images
同一倉(cāng)庫(kù)源可以有多個(gè) TAG版本,代表這個(gè)倉(cāng)庫(kù)源的不同個(gè)版本,我們使用 REPOSITORY:TAG 來(lái)定義不同的鏡像。
如果你不指定一個(gè)鏡像的版本標(biāo)簽,例如你只使用 ubuntu,docker 將默認(rèn)使用 ubuntu:latest 鏡像
搜索鏡像: docker search [OPTIONS] 鏡像名字
OPTIONS說(shuō)明:
–limit : 只列出N個(gè)鏡像,默認(rèn)25個(gè)
如docker search --limit 5 redis
下載鏡像: docker pull 鏡像名稱[:TAG] #沒有TAG就是最新版
查看鏡像/容器/數(shù)據(jù)卷所占的空間: docker system df
刪除鏡像: docker rmi 鏡像ID
刪除單個(gè)
docker rmi -f 鏡像ID
刪除多個(gè)docker rmi -f 鏡像名1:TAG 鏡像名2:TAG
刪除全部
docker rmi -f $(docker images -qa)
面試知識(shí)點(diǎn):什么docker虛懸鏡像?
答:倉(cāng)庫(kù)名、標(biāo)簽都是<none>的鏡像,俗稱虛懸鏡像dangling image
有鏡像才能有容器,這里假設(shè)已通過(guò) docker pull ubuntu
命令下載了ubuntu鏡像,后面的命令介紹基于此鏡像。
新建并啟動(dòng)容器:docker run [OPTIONS] ***IMAGE*** [COMMAND] [ARG...]
OPTIONS說(shuō)明(常用):有些是一個(gè)減號(hào)(短杠),有些是兩個(gè)減號(hào)
–name=“容器新名字” 為容器指定一個(gè)名稱;
-d: 后臺(tái)運(yùn)行容器并返回容器ID,也即啟動(dòng)守護(hù)式容器(后臺(tái)運(yùn)行);
-i:以交互模式運(yùn)行容器,通常與 -t 同時(shí)使用;
-t:為容器重新分配一個(gè)偽輸入終端tty,通常與 -i 同時(shí)使用;
也即啟動(dòng)交互式容器(前臺(tái)有偽終端,等待交互);
啟動(dòng)交互式容器(前臺(tái)命令行)
#使用鏡像centos:latest以交互模式啟動(dòng)一個(gè)容器,在容器內(nèi)執(zhí)行/bin/bash命令。
docker run -it centos /bin/bash
說(shuō)明:/bin/bash:放在鏡像名后的是命令,這里我們希望有個(gè)交互式 Shell,因此用的是 /bin/bash。
列出當(dāng)前所有正在運(yùn)行的容器: docker ps
退出容器
·兩種退出方式
·run進(jìn)去容器,exit
退出,容器停止
·run進(jìn)去容器,ctrl+p+q
退出,容器不停止
容器啟停
docker start 容器ID或者容器名
docker restart 容器ID或者容器名
docker stop 容器ID或者容器名
刪除容器
刪除已停止的容器
docker rm 容器ID
一次性刪除多個(gè)容器實(shí)例docker rm -f $(docker ps -a -q)
docker ps -a -q | xargs docker rm
啟動(dòng)守護(hù)式容器(后臺(tái)服務(wù)端運(yùn)行) docker run -d 容器名
好習(xí)慣:每次運(yùn)行容器之后通過(guò)docker ps看一下容器是否啟動(dòng)成功了
問(wèn)題:docker run -d centos啟動(dòng)centos守護(hù)容器,然后docker ps -a 進(jìn)行查看, 會(huì)發(fā)現(xiàn)容器已經(jīng)退出?
說(shuō)明: 有的Docker容器后臺(tái)運(yùn)行,就必須有一個(gè)前臺(tái)進(jìn)程.容器運(yùn)行的命令如果不是那些一直掛起的命令(比如運(yùn)行top,tail),就是會(huì)自動(dòng)退出的。
這個(gè)是docker的機(jī)制問(wèn)題,最佳的解決方案是,將你要運(yùn)行的程序以前臺(tái)進(jìn)程的形式運(yùn)行,常見就是命令行模式,表示我還有交互操作,別中斷。
如后臺(tái)運(yùn)行nginx命令:
docker run -di --name=nginx -p 80:80 nginx
9. 查看容器日志:docker logs 容器ID
查看容器內(nèi)部細(xì)節(jié),返回JSON格式數(shù)據(jù):docker inspect 容器ID
10. 退出容器后重新進(jìn)入(進(jìn)入正在運(yùn)行的容器并以命令行交互):
docker exec -it 容器ID /bin/bash
docker attach 容器ID 不推薦
上述兩個(gè)容器進(jìn)入命令exec和attach的區(qū)別:
attach 直接進(jìn)入容器啟動(dòng)命令的終端,不會(huì)啟動(dòng)新的進(jìn)程,用exit退出,會(huì)導(dǎo)致容器的停止。
exec 是在容器中打開新的終端,并且可以啟動(dòng)新的進(jìn)程 用exit退出,不會(huì)導(dǎo)致容器的停止。
推薦大家使用 docker exec 命令,因?yàn)橥顺鋈萜鹘K端,不會(huì)導(dǎo)致容器的停止。
11. 從容器內(nèi)拷貝文件到主機(jī)上: docker cp 容器ID:容器內(nèi)路徑 目的主機(jī)路徑
12. 導(dǎo)入導(dǎo)出容器
export 導(dǎo)出容器的內(nèi)容留作為一個(gè)tar歸檔文件[對(duì)應(yīng)import命令]
import 從tar包中的內(nèi)容創(chuàng)建一個(gè)新的文件系統(tǒng)再導(dǎo)入為鏡像[對(duì)應(yīng)export]
案例
docker export 容器ID > 文件名.tar
cat 文件名.tar | docker import - 鏡像用戶/鏡像名:鏡像版本號(hào)
到此,關(guān)于“docker的常用命令怎么使用”的學(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)容。