溫馨提示×

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

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

docker的常用命令怎么使用

發(fā)布時(shí)間:2023-05-08 14:55:12 來(lái)源:億速云 閱讀:138 作者:iii 欄目:開發(fā)技術(shù)

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

docker常用命令

列舉常用的命令,不常用的已省略。

1 啟停類/幫助 命令

  • 啟動(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

2鏡像命令

  • 列出本地主機(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

3 容器命令

  • 有鏡像才能有容器,這里假設(shè)已通過(guò) docker pull ubuntu 命令下載了ubuntu鏡像,后面的命令介紹基于此鏡像。

  • 新建并啟動(dòng)容器:docker run [OPTIONS] ***IMAGE*** [COMMAND] [ARG...]

 OPTIONS說(shuō)明(常用):有些是一個(gè)減號(hào)(短杠),有些是兩個(gè)減號(hào)
&ndash;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

  • 退出容器

 &middot;兩種退出方式
&middot;run進(jìn)去容器,exit退出,容器停止
&middot;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í)用的文章!

向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