最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

分享8個基本的Docker容器管理命令

 更新時間:2018年06月22日 17:00:29   作者:JAVA高級進階  
本文給大家分享8個基本的Docker容器管理命令,非常不錯,具有一定的參考借鑒價值,需要的朋友參考下吧

前言:

在這篇文章中,我們將帶你學(xué)習(xí) 8 個基本的 Docker 容器命令,它們操控著 Docker 容器的基本活動,例如 運行run、 列舉list、 停止stop、 查看歷史紀錄logs、 刪除delete 等等。文末福利!

利用這 8 個命令可以學(xué)習(xí) Docker 容器的基本管理方式。這是一個為 Docker 初學(xué)者準備的,帶有示范命令輸出的指南。

在這篇文章中,我們將帶你學(xué)習(xí) 8 個基本的 Docker 容器命令,它們操控著 Docker 容器的基本活動,例如 運行run、 列舉list、 停止stop、 查看歷史紀錄logs、 刪除delete 等等。如果你對 Docker 的概念很陌生,推薦你看看我們的 介紹指南,來了解 Docker 的基本內(nèi)容以及 如何 在 Linux 上安裝 Docker。 現(xiàn)在讓我們趕快進入要了解的命令:

如何運行 Docker 容器?

眾所周知,Docker 容器只是一個運行于宿主操作系統(tǒng)host OS上的應(yīng)用進程,所以你需要一個鏡像來運行它。Docker 鏡像以進程的方式運行時就叫做 Docker 容器。你可以加載本地 Docker 鏡像,也可以從 Docker Hub 上下載。Docker Hub 是一個提供公有和私有鏡像來進行拉取pull操作的集中倉庫。官方的 Docker Hub 位于 hub.docker.com。 當(dāng)你指示 Docker 引擎運行容器時,它會首先搜索本地鏡像,如果沒有找到,它會從 Docker Hub 上拉取相應(yīng)的鏡像。

讓我們運行一個 Apache web 服務(wù)器的 Docker 鏡像,比如 httpd 進程。你需要運行 docker container run 命令。舊的命令為 docker run, 但后來 Docker 添加了子命令部分,所以新版本支持下列命令:

root@kerneltalks # docker container run -d -p 80:80 httpd
Unable to find image 'httpd:latest' locally
latest: Pulling from library/httpd
3d77ce4481b1: Pull complete
73674f4d9403: Pull complete
d266646f40bd: Pull complete
ce7b0dda0c9f: Pull complete
01729050d692: Pull complete
014246127c67: Pull complete
7cd2e04cf570: Pull complete
Digest: sha256:f4610c3a1a7da35072870625733fd0384515f7e912c6223d4a48c6eb749a8617
Status: Downloaded newer image for httpd:latest
c46f2e9e4690f5c28ee7ad508559ceee0160ac3e2b1688a61561ce9f7d99d682

Docker 的 run 命令將鏡像名作為強制參數(shù),另外還有很多可選參數(shù)。常用的參數(shù)有:

•-d:從當(dāng)前 shell 脫離容器
•-p X:Y:綁定容器的端口 Y 到宿主機的端口 X
•--name:命名你的容器。如果未指定,它將被賦予隨機生成的名字
•-e:當(dāng)啟動容器時傳遞環(huán)境編輯及其值

通過以上輸出你可以看到,我們將 httpd 作為鏡像名來運行容器。接著,本地鏡像沒有找到,Docker 引擎從 Docker Hub 拉取了它。注意,它下載了鏡像 httpd:latest, 其中 :后面跟著版本號。如果你需要運行特定版本的容器,你可以在鏡像名后面注明版本名。如果不提供版本名,Docker 引擎會自動拉取最新的版本。

輸出的最后一行顯示了你新運行的 httpd 容器的唯一 ID。

如何列出所有運行中的 Docker 容器?

現(xiàn)在,你的容器已經(jīng)運行起來了,你可能想要確認這一點,或者你想要列出你的機器上運行的所有容器。你可以使用 docker container ls 命令。在舊的 Docker 版本中,對應(yīng)的命令為 docker ps。 

root@kerneltalks # docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c46f2e9e4690 httpd "httpd-foreground" 11 minutes ago Up 11 minutes 0.0.0.0:80->80/tcp cranky_cori

列出的結(jié)果是按列顯示的。每一列的值分別為:

Container ID :一開始的幾個字符對應(yīng)你的容器的唯一 ID
Image :你運行容器的鏡像名
Command :容器啟動后運行的命令
Created :創(chuàng)建時間
Status :容器當(dāng)前狀態(tài)
Ports :與宿主端口相連接的端口信息
Names :容器名(如果你沒有命名你的容器,那么會隨機創(chuàng)建)

如何查看 Docker 容器的歷史紀錄?

在第一步我們使用了 -d 參數(shù)來將容器,在它一開始運行的時候,就從當(dāng)前的 shell 中脫離出來。在這種情況下,我們不知道容器里面發(fā)生了什么。所以為了查看容器的歷史紀錄,Docker 提供了 logs 命令。它采用容器名稱或 ID 作為參數(shù)。 

root@kerneltalks # docker container logs cranky_cori
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 172.17.0.2. Set the 'ServerName' directive globally to suppress this message
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 172.17.0.2. Set the 'ServerName' directive globally to suppress this message
[Thu May 31 18:35:07.301158 2018] [mpm_event:notice] [pid 1:tid 139734285989760] AH00489: Apache/2.4.33 (Unix) configured -- resuming normal operations
[Thu May 31 18:35:07.305153 2018] [core:notice] [pid 1:tid 139734285989760] AH00094: Command line: 'httpd -D FOREGROUND'

這里我使用了容器名稱作為參數(shù)。你可以看到在我們的 httpd 容器中與 Apache 相關(guān)的歷史紀錄。

如何確定 Docker 容器的進程?

容器是一個使用宿主資源來運行的進程。這樣,你可以在宿主系統(tǒng)的進程表中定位容器的進程。讓我們在宿主系統(tǒng)上確定容器進程。

Docker 使用著名的 top 命令作為子命令的名稱,來查看容器產(chǎn)生的進程。它采用容器的名稱或 ID 作為參數(shù)。在舊版本的 Docker 中,只可運行 docker top 命令。在新版本中,docker top 和 docker container top 命令都可以生效。

root@kerneltalks # docker container top cranky_cori
UID PID PPID C STIME TTY TIME CMD
root 15702 15690 0 18:35 ? 00:00:00 httpd -DFOREGROUND
bin 15729 15702 0 18:35 ? 00:00:00 httpd -DFOREGROUND
bin 15730 15702 0 18:35 ? 00:00:00 httpd -DFOREGROUND
bin 15731 15702 0 18:35 ? 00:00:00 httpd -DFOREGROUND
root@kerneltalks # ps -ef |grep -i 15702
root 15702 15690 0 18:35 ? 00:00:00 httpd -DFOREGROUND
bin 15729 15702 0 18:35 ? 00:00:00 httpd -DFOREGROUND
bin 15730 15702 0 18:35 ? 00:00:00 httpd -DFOREGROUND
bin 15731 15702 0 18:35 ? 00:00:00 httpd -DFOREGROUND
root 15993 15957 0 18:59 pts/0 00:00:00 grep --color=auto -i 15702

在第一個輸出中,列出了容器產(chǎn)生的進程的列表。它包含了所有細節(jié),包括用戶號uid、進程號pid,父進程號ppid、開始時間、命令,等等。這里所有的進程號你都可以在宿主的進程表里搜索到。這就是我們在第二個命令里做得。這證明了容器確實是宿主系統(tǒng)中的進程。

如何停止 Docker 容器?

只需要 stop 命令!同樣,它采用容器名稱或 ID 作為參數(shù)。 

root@kerneltalks # docker container stop cranky_cori
cranky_cori

如何列出停止的或不活動的 Docker 容器?

現(xiàn)在我們停止了我們的容器,這時如果我們使用 ls 命令,它將不會出現(xiàn)在列表中。 

root@kerneltalks # docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

所以,在這種情況下,如果想要查看停止的或不活動的容器,你需要在 ls 命令里同時使用 -a 參數(shù)。

root@kerneltalks # docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c46f2e9e4690 httpd "httpd-foreground" 33 minutes ago Exited (0) 2 minutes ago cranky_cori

有了 -a 參數(shù),現(xiàn)在我們可以查看已停止的容器。注意這些容器的狀態(tài)被標(biāo)注為 已退出exited。既然容器只是一個進程,那么用“退出”比“停止”更合適!

如何(重新)啟動 Docker 容器?

現(xiàn)在,我們來啟動這個已停止的容器。這和運行一個容器有所區(qū)別。當(dāng)你運行一個容器時,你將啟動一個全新的容器。當(dāng)你啟動一個容器時,你將開始一個已經(jīng)停止并保存了當(dāng)時運行狀態(tài)的容器。它將以停止時的狀態(tài)重新開始運行。

root@kerneltalks # docker container start c46f2e9e4690
c46f2e9e4690
root@kerneltalks # docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c46f2e9e4690 httpd "httpd-foreground" 35 minutes ago Up 8 seconds 0.0.0.0:80->80/tcp cranky_cori

如何移除 Docker 容器?

我們使用 rm 命令來移除容器。你不可以移除運行中的容器。移除之前需要先停止容器。你可以使用 -f 參數(shù)搭配 rm 命令來強制移除容器,但并不推薦這么做。

root@kerneltalks # docker container rm cranky_cori
cranky_cori
root@kerneltalks # docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

你看,一旦移除了容器,即使再使用 ls -a 命令也查看不到容器了。

總結(jié)

以上所述是小編給大家介紹的8個基本的Docker容器管理命令,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • docker如何為容器指定虛擬網(wǎng)卡或IP

    docker如何為容器指定虛擬網(wǎng)卡或IP

    在Docker中,可以通過自定義網(wǎng)絡(luò)和--network標(biāo)志將容器綁定到特定的虛擬網(wǎng)卡或網(wǎng)絡(luò)接口,此外,還可以使用host和macvlan等其他網(wǎng)絡(luò)驅(qū)動,在使用這些模式時,需要注意一些注意事項
    2025-01-01
  • docker的overlay2中存的都是什么及如何清理/var/lib/docker/overlay2

    docker的overlay2中存的都是什么及如何清理/var/lib/docker/overlay2

    docke roverlay2是Docker中的存儲驅(qū)動之一,用于管理鏡像和容器層的數(shù)據(jù),這篇文章主要給大家介紹了關(guān)于docker的overlay2中存的都是什么及如何清理/var/lib/docker/overlay2的相關(guān)資料,需要的朋友可以參考下
    2024-04-04
  • docker-desktop啟動k8s的詳細方法

    docker-desktop啟動k8s的詳細方法

    這篇文章主要介紹了docker-desktop啟動k8s,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-08-08
  • .netcore 使用surging框架發(fā)布到docker

    .netcore 使用surging框架發(fā)布到docker

    這篇文章主要介紹了netcore 使用surging框架發(fā)布到docker,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03
  • Docker如何拉取oracle11g鏡像

    Docker如何拉取oracle11g鏡像

    這篇文章主要介紹了Docker如何拉取oracle11g鏡像問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • CentOS7 Nvidia Docker環(huán)境搭建

    CentOS7 Nvidia Docker環(huán)境搭建

    本篇文章主要介紹了CentOS7 Nvidia Docker環(huán)境搭建,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-02-02
  • Docker搭建Jenkins并自動化打包部署項目的步驟

    Docker搭建Jenkins并自動化打包部署項目的步驟

    本文主要介紹了Docker搭建Jenkins并自動化打包部署項目的步驟,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 一些常見的精簡Docker?file規(guī)則總結(jié)

    一些常見的精簡Docker?file規(guī)則總結(jié)

    這篇文章主要介紹了一些常見的精簡Docker?file規(guī)則的相關(guān)資料,這些精簡規(guī)則有助于優(yōu)化Dockerfile,生成更高效、簡潔的鏡像,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-11-11
  • 在Docker中安裝OnlyOffice的詳細過程記錄

    在Docker中安裝OnlyOffice的詳細過程記錄

    OnlyOffice是一款免費且開源的Office協(xié)作辦公套件,支持桌面端和移動端等多平臺,下面這篇文章主要給大家介紹了關(guān)于如何在Docker中安裝OnlyOffice的詳細過程記錄,需要的朋友可以參考下
    2024-01-01
  • Docker鏡像制作詳解介紹

    Docker鏡像制作詳解介紹

    這篇文章主要介紹了 Docker鏡像制作詳解介紹的相關(guān)資料,需要的朋友可以參考下
    2016-10-10

最新評論

阿拉尔市| 抚州市| 莱阳市| 稻城县| 汶川县| 稻城县| 浮山县| 林口县| 荃湾区| 柳江县| 通化市| 图木舒克市| 宾川县| 天长市| 屏东市| 随州市| 松江区| 仁怀市| 肃宁县| 东兴市| 澄城县| 德惠市| 通渭县| 新巴尔虎右旗| 洛南县| 敖汉旗| 鄄城县| 奉节县| 思南县| 射阳县| 渝北区| 突泉县| 武汉市| 凤台县| 大同县| 股票| 普兰店市| 泽库县| 通江县| 西城区| 汶川县|