婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 一條命令重啟所有已停止的docker容器操作

一條命令重啟所有已停止的docker容器操作

熱門標簽:激光標記地圖標注 撫州市城區地圖標注 百度地圖底圖標注 企業辦理400電話收費標準 智能電銷機器人真的有用么 電銷智能機器人試用 高德地圖標注足跡怎么打標 中國地圖標注上各個省 新鄉牧野400電話申請

一條命令重啟所有已停止的docker容器

docker ps -a | grep Exited

查看所有已停止的容器

docker ps -a | grep Exited | awk ‘{print $1}'

獲取已停止容器的ID

docker ps -a | grep Exited | awk ‘{print $1}' |xargs docker start

把獲取到的已停止容器的ID傳送給容器啟動命令

一條命令停止所有運行中的docker容器

docker ps -a | grep Up | awk ‘{print $1}' |xargs docker stop

補充知識:Docker學習筆記:獲取鏡像&啟動容器&停止容器

獲取鏡像

默認情況下,使用docker pull命令,會從官方的Docker Hub庫中將鏡像拉取到本地。

首先介紹這條命令的格式:

docker pull [OPTIONS] <倉庫名>:<標簽>

其中:

docker pull:Docker拉取鏡像的命令關鍵詞;

[OPTIONS]:命令選項;

倉庫名:倉庫名的格式一般為<用戶名>/<軟件名>。對于Docker Hub,如果不指定用戶名,則默認為library,即官方鏡像;

標簽:標簽是區分鏡像不同版本的一個重要參數,<倉庫名>:<標簽>會唯一確定一個鏡像。默認為latest。

例如,我們要從Docker Hub官方倉庫拉取一個Ubuntu 14.04的官方鏡像,其語句如下:

docker pull ubuntu:14.04

docker pull命令背后的工作

首先,如果tag值為空,即沒有指定標簽,就會使用默認tag,也就是latest,如果tag值不為空,就使用指定的tag。

然后,默認情況下,會在Docker Hub中尋找名為“repoName”的倉庫,如果倉庫不存在,返回錯誤信息。如果倉庫存在,就從倉庫中拉取對應tag的鏡像。例如:如果執行docker pull ubuntu:14.04,那么將從“ubuntu”倉庫中拉取tag為14.04的鏡像,而如果執行docker pull ubuntu,會從“ubuntu”倉庫中拉取tag為latest的鏡像。

(在Docker Hub中有很多個鏡像倉庫,一般情況下會將同一類型的鏡像放在同一個倉庫中,例如在一個ubuntu倉庫中由很多個ubuntu鏡像組成,包括ubuntu:14.04、ubuntu:16.04、ubuntu:latest等等鏡像)。

最后,將拉取的鏡像存儲到本地的指定位置。

設置鏡像加速器

由于“偉大的墻”的原因,在國內從Docker Hub中拉取鏡像的速度可能會比較慢,國內很多云服務商都提供了鏡像加速器服務,例如阿里、網易等等。

以Linux系統配置阿里云加速器為例,只需要將下面的命令復制到Linux的終端,以root用戶的身份執行之后,就成功的配置了阿里云加速器了!

#以root用戶執行以下操作

mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{#下面的URL可以替換為你自己的阿里云加速地址
"registry-mirrors": ["https://jxus37ad.mirror.aliyuncs.com "]
}
EOF
systemctl daemon-reload
systemctl restart docker

啟動容器

在拉取到一個鏡像之后,也就為容器準備了運行環境。

啟動容器有兩種方式,一種是基于鏡像新建一個容器并啟動,另外一個是將在終止狀態(stopped)的容器重新啟動。

第一種方式:新建并啟動

docker run命令會基于指定的鏡像創建一個容器并且啟動它。docker run的基本語法如下:

docker run [OPTIONS] 鏡像名 [COMMAND] [ARG]

其中:

docker run: Docker創建并啟動容器的命令關鍵詞;

OPTIIONS: 命令選項,最常用的包括-d后臺運行容器并返回容器ID,-i以交互模式運行容器,-t為容器分配一個偽輸入終端,–name指定啟動容器的名稱。更多選項請參考Docker幫助文檔;

鏡像名: 以<倉庫名>:<標簽>的方式來指定;

COMMAND: 設置啟動命令,該命令在容器啟動后執行;

ARG: 其他一些參數。

docker run背后的工作

Docker在后臺運行的標準操作包括:

檢查本地是否存在指定的鏡像,不存在就從公有倉庫下載啟動;

利用鏡像創建并啟動一個容器;

分配一個文件系統,并在只讀的鏡像層外面掛載一層可讀寫層;

從宿主主機配置的網橋接口中橋接一個虛擬接口到容器中去;

從地址池配置一個ip地址給容器;

執行用戶指定的啟動命令;

執行完畢后容器被終止。

docker run實例一

創建并啟動一個容器,容器中具有ubuntu的運行環境,輸出hello docker。

只需要一條命令:docker run ubuntu:14.04 echo ‘hello docker',問題就解決了。

首先由于本地不存在ubuntu:14.04鏡像,所以先到Docker Hub中下載鏡像;(其實也就是先執行docker pull ubuntu:14.04)

然后在下載完鏡像之后,使用鏡像創建。由于一個ubuntu鏡像包含了一個ubuntu系統的所有內容,使用鏡像啟動后,容器中就具備了ubuntu的運行環境了。

啟動容器后,執行echo 'hello docker'啟動命令,執行完啟動命令之后終止容器。

docker run實例二

創建并啟動一個容器,容器中具有ubuntu的運行環境,容器名為firstContainer,為容器分配一個終端,與用戶進行交互。

其中,-i選項告訴Docker保持標準輸入輸出流對容器開放,-t選項讓Docker分配一個偽終端(pseudo-tty)并綁定到容器的標準輸入上。–name為容器設置容器名。

注意docker run是創建一個新容器并啟動,所以這條命令創建的容器與上個實例的創建的容器不是同一個容器。而且由于本地已經存在ubuntu:latest鏡像了,所以并不需要再次從Docker Hub中下載,而是直接使用本地的ubuntu:latest鏡像構建容器。

啟動容器之后,我們進入容器內部并在終端進行與容器交互。我們可以根據左側的命令提示符判斷自己是否在容器內部。例如上面的例子,當左側的命令提示符為root@localhost時,表示我們在容器外部,而命令提示符為:root@fe263c9359dd/時,表示我們在容器內部,且容器的ID是fe263c9359dd。我們可以通過exit退出當前的容器。

第二種方式:啟動一個已經終止的容器

雖然Docker容器是非常輕量的,這意味著一般情況下,我們在啟動完容器并完成操作之后都會將容器刪除掉。但是有些時候我們會進入之前創建的容器,而docker run每次都會創建一個新容器,顯然不符合我們的需求。這種時候,可以使用docker start命令,使用容器名或者容器id啟動一個已經終止的容器。

docker start [OPTIONS] 容器 [容器2...]

其中:

docker start: Docker啟動容器的命令關鍵詞;

OPTIIONS: 命令選項;

容器: 需要啟動的容器,該容器用“容器ID”或“容器名”表示,如果指定了多個容器,那么就將這些容器都啟動。

假設一個名為firstContainer的容器處于終止狀態,現在需要將它啟動,可以這么做:執行docker start firstContainer,命令執行后,嘗試啟動firstContainer容器,并執行該容器的啟動命令。

但是如果想啟動第一個實例創建的容器,既不知道容器的名字(因為我沒有指定)而且也不知道它的id。該怎么辦呢?

查看容器信息

Docker中有這樣一條命令docker ps,可以查看容器的信息,包括容器ID,基礎鏡像,啟動命令,創建時間,當前狀態,端口號,容器名字。

如果不加任何參數,只執行docker ps,將會顯示所有運行中的容器。例如執行docker ps,如下圖所示,在當前的Docker環境中,只有一個正在運行的容器,它的容器Id是fe263c9359dd,基于ubuntu:latest鏡像,啟動命令為“/bin/bash”,創建時間為2分鐘之前,當前狀態為“Up 2 minutes”,也就是已經運行了2分鐘了,容器名為:firstContainer。

而如果docker ps –a命令,可以查看Docker環境中所有的容器,包括已經停止的容器。執行docker ps –a后,如下圖所示:除了名為firstContainer的容器外,還可以看到一個id為ee826f1d58ff的容器容器(容器id隨機生成)。但是這個容器的當前狀態為Exited (0) 3 minutes ago,這表示它是處于終止狀態的,而且是在3分鐘前退出的。

對于這個處于終止狀態的容器,可以通過docker start ee826f1d58ff或者docker start g\fracious_lewin啟動該容器了。

實際情況中,使用docker start ee826f1d58ff去啟動第一個實例的容器,然后使用docker ps查看,會看不到該容器。這也就是說明了在執行docker ps時,容器Id為ee826f1d58ff的容器并不是處于運行狀態,而是處于終止狀態。

docker ps的執行結果如下所示:容器Id為ee826f1d58ff的容器的當前狀態為Exited (0) 2 seconds ago!!!這表示ee826f1d58ff容器確實處于終止狀態,但是它是2秒之前退出的,注意是2秒前!這表明2秒前啟動過容器,但是由于某種原因,容器終止了!!

實際情況下,執行docker start ee826f1d58ff啟動容器id為ee826f1d58ff的容器了!!但是在執行完啟動命令之后,該容器就立即結束了。

停止容器

使用docker stop停止一個容器

docker stop可以用來終止一個正在運行的容器。它的命令格式如下:

docker stop [OPTIONS] Container [Container ...]

其中:

docker stop: Docker停止容器的命令關鍵詞;

OPTIONS:命令選項,其中-t指定等待多少秒后如果容器還沒終止,就強行停止,默認等待10秒;

Container:需要啟動的容器,該容器用“容器ID”或“容器名”表示,如果指定了多個容器,那么就將這些容器都啟動。

例如想要停止一個名為firstContainer 的容器,可以這么執行docker stop firstContainer。該命令執行完之后,firstContainer將會處于終止狀態。終止狀態的容器,可以使用docker ps –a查看到。

實際工作中,執行docker stop可能并不會立即終止容器,而是需要等待一段時間。

容器實際上是一個進程。而執行docker stop之后,首先會向容器的主進程發送一個SIGTERM信號,讓主進程釋放資源保存狀態,嘗試自己終止。但當等待時間超過了-t設置的時間后,會向容器的主進程發送一個SIGKILL信號,使容器立即終止。

在什么情況下容器啟動后會立即終止?

實際情況中,除了使用docker stop命令來強制地終止一個容器以外,當容器的啟動命令終結時,容器也自動會終止。

以docker run --name testcontainer ubuntu echo 'hello docker'為例,echo 'hello docker'就是該容器的啟動命令。實際上執行完這條命令后,執行docker ps -a,可以發現testcontainer容器是處于終止狀態的,如下所示:

[root@localhost Desktop]# docker run --name testcontainer ubuntu echo 'hello docker'
hello docker
[root@localhost Desktop]# docker ps -a
CONTAINER ID  IMAGE    COMMAND     CREATED    STATUS      PORTS    NAMES
da14116bf641  ubuntu    "echo 'hello docker'" 6 seconds ago  Exited (0) 4 seconds ago      testcontainer

在容器啟動時,會執行容器的啟動命令。而執行上述命令創建并啟動容器后,由于容器的啟動命令echo 'hello docker'會立刻執行完畢,所以容器也隨之終止,因此使用docker ps -a查看該容器的狀態是終止狀態。

Docker容器是一個進程,實際上它以sh作為主進程。如果主進程停止了,那么容器也就停止了。而如果容器的“啟動命令”執行完之后,由于主進程沒有命令繼續執行,所以主進程會停止,容器也就因此而停止了。

如何才能使容器啟動后不立即終止?

如果容器的sh主進程不停止,是不是以為這容器就不會停止?答案是肯定的。因此,如果使啟動命令不能執行完畢,或者在執行完啟動命令后,容器的sh主進程不停止,那么容器在啟動后就不會立即終止了!

下面舉兩個能使容器啟動后不立即停止的例子:

將啟動命令設置為死循環

docker run ubuntu:14.04 /bin/sh -c "while true; do echo hello world; sleep 1; done"

這條命令在創建并啟動容器之后,會執行/bin/sh -c “while true; do echo hello world; sleep 1; done”,由于該命令永遠都不會執行完畢,除非強行終止,所以容器的主進程sh不會停止,因此容器也將不會停止。但是這樣的做的話,無法正常的操作容器,而且它會占據資源,所以這種做法在實際的工作中意義并不大。

將啟動命令設置為“啟動一直運行的子進程”

docker run --name first_container -it ubuntu /bin/bash

執行完這條命令后,創建并啟動容器之后,執行/bin/bash,會啟動一個子進程,此時父進程(也就是容器的主進程sh)會進入sleep狀態,由于sleep狀態不是終止狀態,所以容器會繼續運行。

為什么在容器中輸入exit或者執行ctrl D后,容器將會終止呢,這是因為exit會退出(結束)當前進程,也就是/bin/bash,由于子進程結束,sh主進程恢復到運行態,然而由于沒有命令需要繼續執行,所以sh主進程結,因此容器終止。

以上這篇一條命令重啟所有已停止的docker容器操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

標簽:西安 辛集 臨汾 延安 邯鄲 忻州 海西 南通

巨人網絡通訊聲明:本文標題《一條命令重啟所有已停止的docker容器操作》,本文關鍵詞  一條,命令,重啟,所有,已,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《一條命令重啟所有已停止的docker容器操作》相關的同類信息!
  • 本頁收集關于一條命令重啟所有已停止的docker容器操作的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    久久久久国产免费免费| 26uuu国产日韩综合| 亚洲综合在线电影| 精品欧美一区二区三区精品久久 | 欧美午夜片在线看| 国产一区二区三区黄视频| 亚洲午夜一区二区| 一区二区三区电影在线播| 欧美国产日韩亚洲一区| 欧美成人一区二区三区在线观看 | 久久综合色婷婷| 欧美一级黄色录像| 欧美一区二区三区在线看| 欧美日本一区二区三区四区| 欧美亚州韩日在线看免费版国语版| 成人在线视频首页| 粉嫩高潮美女一区二区三区| 国产乱人伦偷精品视频不卡| 国产乱人伦偷精品视频免下载| 国产毛片精品国产一区二区三区| 国产麻豆欧美日韩一区| 国产精品一区二区久久不卡| 粉嫩一区二区三区在线看| 国产精品一二三| k8久久久一区二区三区| 91亚洲精品久久久蜜桃网站 | 一本大道久久a久久综合| 91在线视频播放地址| 91久久精品一区二区| 欧美日韩专区在线| 18欧美乱大交hd1984| 中文字幕av一区 二区| 中文字幕亚洲欧美在线不卡| 亚洲精品日日夜夜| 三级不卡在线观看| 国产综合久久久久久鬼色| 成人禁用看黄a在线| 欧美午夜免费电影| 精品国产伦理网| 国产精品美女久久久久久久久| 亚洲激情综合网| 美女脱光内衣内裤视频久久网站| 国产精品夜夜嗨| 在线看不卡av| 精品欧美黑人一区二区三区| 欧美成人精品福利| 亚洲日本在线天堂| 六月婷婷色综合| 99久久久无码国产精品| 欧美丰满少妇xxxxx高潮对白| 国产亚洲精品中文字幕| 亚洲国产成人av网| 国产成人精品免费网站| 欧美亚洲另类激情小说| 国产亚洲精品bt天堂精选| 亚洲国产另类av| 成人av小说网| 欧美大片一区二区| 亚洲精品成人少妇| 国产一区二区视频在线| 欧美午夜精品一区| 国产精品美女久久久久高潮| 日韩激情在线观看| 色婷婷av一区二区三区大白胸| 日韩精品专区在线| 亚洲综合色网站| 成人av网站在线| 欧美精品一区二区三区在线| 亚洲一区二区在线视频| 波多野洁衣一区| 精品免费国产一区二区三区四区| 亚洲第一狼人社区| 91亚洲男人天堂| 国产蜜臀97一区二区三区| 日韩影院在线观看| 精品视频免费看| 亚洲综合在线免费观看| 粉嫩高潮美女一区二区三区| 日韩精品综合一本久道在线视频| 五月婷婷另类国产| 欧美人动与zoxxxx乱| 亚洲制服丝袜av| 91美女片黄在线观看| 中文字幕欧美日韩一区| 国产精品 日产精品 欧美精品| 日韩一级成人av| 首页综合国产亚洲丝袜| 自拍偷自拍亚洲精品播放| 国产盗摄一区二区| 亚洲国产精品国自产拍av| 国产suv精品一区二区6| 国产精品―色哟哟| 懂色中文一区二区在线播放| 久久综合色鬼综合色| 国产一区美女在线| 国产色综合一区| 99久久精品久久久久久清纯| 中文字幕制服丝袜成人av| www.欧美日韩| 亚洲制服丝袜av| 91精品国产综合久久香蕉的特点 | 日本一区二区三区久久久久久久久不 | 91免费视频网址| 国产精品视频免费| 色综合久久久久久久久| 亚洲欧美日韩国产成人精品影院 | 蜜桃久久精品一区二区| 91精品国产色综合久久ai换脸| 人人精品人人爱| 久久免费的精品国产v∧| 成人做爰69片免费看网站| 亚洲欧美日韩精品久久久久| 欧美日韩免费电影| 狠狠色综合播放一区二区| 国产精品视频观看| 欧美日韩一二三区| 韩国av一区二区三区四区| 中文字幕乱码日本亚洲一区二区| 色国产综合视频| 久久99久久久久久久久久久| 国产欧美一区二区在线观看| 91小视频免费观看| 日本不卡在线视频| 久久精品一区二区三区不卡 | 色婷婷综合五月| 日本不卡的三区四区五区| 久久九九全国免费| 91成人在线观看喷潮| 日韩高清不卡一区| 国产精品久久久爽爽爽麻豆色哟哟| 在线欧美一区二区| 激情亚洲综合在线| 亚洲专区一二三| 久久久久久综合| 欧美在线制服丝袜| 国产福利一区二区| 丝袜a∨在线一区二区三区不卡| 久久精品视频免费观看| 欧美日韩国产综合视频在线观看 | 久久久99精品免费观看| 色婷婷综合激情| 国产成人av电影在线| 午夜欧美视频在线观看| 中文一区二区在线观看| 欧美一区二区视频在线观看2022| 成人短视频下载| 激情综合网激情| 婷婷成人激情在线网| 国产精品麻豆视频| 国产欧美一二三区| 日韩视频免费观看高清在线视频| 在线视频欧美精品| 91在线国内视频| 成人高清视频免费观看| 国产又黄又大久久| 精品在线一区二区三区| 视频一区二区三区中文字幕| 亚洲欧美日韩综合aⅴ视频| 欧美国产欧美综合| 亚洲国产精品成人综合| 久久精品夜夜夜夜久久| 日韩欧美一二区| 日韩欧美第一区| 日韩免费福利电影在线观看| 日韩亚洲欧美在线| 91精选在线观看| 7777精品伊人久久久大香线蕉经典版下载| a4yy欧美一区二区三区| 成人毛片视频在线观看| 丁香激情综合五月| 夫妻av一区二区| 成人丝袜视频网| 成人永久aaa| 成人avav在线| 91欧美激情一区二区三区成人| 国产成人精品午夜视频免费| 国产成人8x视频一区二区| 久草在线在线精品观看| 美腿丝袜一区二区三区| 久88久久88久久久| 国产精品综合在线视频| 国产精品自拍在线| 高清成人在线观看| a在线欧美一区| 日本精品视频一区二区三区| 色婷婷国产精品| 欧美特级限制片免费在线观看| 欧美精品 国产精品| 日韩欧美一区中文| 精品成人a区在线观看| 久久品道一品道久久精品| 中文字幕一区二区在线观看 | 精品国产欧美一区二区| www精品美女久久久tv| 国产视频一区二区三区在线观看| 亚洲国产激情av| 亚洲综合在线五月| 麻豆freexxxx性91精品| 国产成人av电影在线观看| 91黄色免费看|