成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Docker學(xué)習(xí)之路(四)守護(hù)式容器

jay_tian / 680人閱讀

摘要:,,當(dāng)前使用的容器名為,為。守護(hù)式容器沒有交互式會話,適合運行應(yīng)用程序和服務(wù)。大多數(shù)時候是需要以守護(hù)式來運行容器。與之前創(chuàng)建的容器相比,沒有返回會話,只是返回了一個容器。刪除容器運行中的容器無法刪除,必須先停止。

windows 7, docker 1.3.2,當(dāng)前使用的容器名為aoct,ID為614122c0aabb。

開啟已經(jīng)停止的容器

可以start + 容器名

$ sudo docker start aoct

start + 容器ID

$ sudo docker start 614122c0aabb

查看現(xiàn)在正在運行的容器:

$ sudo docker ps

還可以用docker restart重啟。

附到容器上

Docker容器重新啟動時,會沿用docker run命令指定的參數(shù)來運行,所以重新啟動后會運行一個交互式會話shell。也可以用docker attach命令重新附到該容器的會話上:

$ sudo docker attach aoct

現(xiàn)在就重新回到容器的巴士提示符。

也可以用容器ID:

$ sudo docker attach 614122c0aabb
創(chuàng)建守護(hù)式容器

除了這些交互式運行的容器(interactive container),也可以創(chuàng)建長期運行的容器。守護(hù)式容器(daemonized container)沒有交互式會話,適合運行應(yīng)用程序和服務(wù)。大多數(shù)時候是需要以守護(hù)式來運行容器。

可以通過添加 -d 參數(shù)來實現(xiàn),創(chuàng)建一個叫aofo的容器:

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

上面的命令會讓容器在后臺運行。使用了一個while循環(huán),改循環(huán)會一直打印hello world,知道容器或其進(jìn)程停止運行。

與之前創(chuàng)建的容器相比,沒有返回shell會話,只是返回了一個容器ID。

查看現(xiàn)在正在運行的容器:

$ sudo docker ps

容器內(nèi)部在干些什么

上面創(chuàng)建了一個在后臺運行while循環(huán)的守護(hù)型容器,可以用docker logs查看容器日志:

$ sudo docker logs aofo

可以在命令后使用-f參數(shù)來健康Docker日志,這與tail -f非常相似:

$ sudo docker logs -f aofo

然后就會看到一直輸出hello world。可以通過ctrl+c來退出監(jiān)控個。

查看容器內(nèi)的進(jìn)程
$ sudo docker top aofo

可以看到容器內(nèi)的所有進(jìn)程(主要是while循環(huán))、運行進(jìn)程的用戶、進(jìn)程ID:

在容器內(nèi)部運行進(jìn)程

Docker 1.3 之后可以通過docker exec命令在容器內(nèi)部額外啟動新進(jìn)程??梢栽谌萜鲀?nèi)運行兩種進(jìn)程:后臺任務(wù)、交互式任務(wù)。后臺任務(wù)在容器內(nèi)運行且沒有交互需求,交互式二年五則保持在前臺運行。對于需要早容器內(nèi)部貸款shell的任務(wù),用交互式任務(wù).

后臺任務(wù)例子:
$ sudo docker exec -d daemon aofo touch /etc/new_config_file

代碼解釋:
-d標(biāo)志標(biāo)明要運行一個后臺進(jìn)程,后面指定要在內(nèi)部執(zhí)行這個命令的容器名,我用的是aofo。整句命令在aofo容器內(nèi)創(chuàng)建了一個空文件夾new_config_file。

交互式任務(wù)例子:
$ sudo docker exec -t -i aofo /bin/bash

代碼解釋:
和運行交互容器一一,這里-t、-i標(biāo)志位指明創(chuàng)建TTY并捕捉STDIN。后面指定要在內(nèi)部執(zhí)行這個命令的容器名,我用的是aofo。整句命令在aofo容器內(nèi)創(chuàng)建新的bash對話,就可以在該容器運行其他命令了。

  

docker exec命令是在 Docker 1.3 引入的,之前版本不支持??捎?b>nsenter命令

停止守護(hù)式容器

docker stop命令:

$ sudo docker stop aofo

也可以用容器ID只帶容器名稱:

$ sudo docker stop ffffd958443007

如果想快速停止容器,還可以用docker kill命令:

$ sudo docker kill aofo

可以用docker ps命令產(chǎn)科當(dāng)前運行的容器。也可以用docker ps -n x,該命令會顯示最后x個容器,不論這些容器是運行還是停止的。

$ sudo docker ps -n 2

深入容器

docker inspect獲取更多的容器信息:

$ sudo docker inspect aofo

可以用-f或者--format標(biāo)志來選定查看結(jié)果。

查看容器運行狀態(tài):

$ sudo docker inspect --format="{{ .State.Running }}" aofo

查看容器IP地址:

docker@boot2docker:~$ sudo docker inspect --format="{{ .NetworkSettings.IPAddress }}" aofo

我沒有設(shè)置,所以返回空:

-f--format標(biāo)志支持完整的GO語言模板。用它進(jìn)程查詢時,可以重復(fù)利用GO語言米板的優(yōu)勢。

可以同時制定多個容器,并顯示每個容器的結(jié)果:

$ sudo docker inspect --format="{{ .State.Running }}" aofo aoct

  

除了查看容器,還可以瀏覽/var/lob/docker目錄了解Docker的工作原理,該目錄存放著Docker鏡像、容器、容器配置。所有容器都保存在/var/lib/docker/containers目錄下。

刪除容器

運行中的容器無法刪除,必須先停止。使用docker rm

$ sudo docker rm 容器ID

一次性刪除所有容器:

$ sudo docker rm `docker ps -a -q`

這不是常規(guī)命令,只是小技巧。docker ps列出所有現(xiàn)有的容器,-a標(biāo)志列出所有(all)容器,-q返回容器ID。這樣就得到了容器ID列表,并傳給docker rm命令,從而達(dá)到刪除所有容器的目的。

【本人的學(xué)習(xí)筆記,主要是對《我的第一本Docker書》、《Docker —— 從入門到實踐》的學(xué)習(xí)記錄,并結(jié)合其他各種資源的學(xué)習(xí)?!?/p>

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/26359.html

相關(guān)文章

  • Linux 學(xué)習(xí)筆記():Docker

    摘要:系統(tǒng)有兩個程序服務(wù)端和客戶端。其中服務(wù)端是一個服務(wù)進(jìn)程,管理著所有的容器??蛻舳藙t扮演著服務(wù)端的遠(yuǎn)程控制器,可以用來控制的服務(wù)端進(jìn)程。守護(hù)進(jìn)程會處理復(fù)雜繁重的任務(wù),例如建立運行發(fā)布你的容器??蛻舳撕褪刈o(hù)進(jìn)程之間通過或者進(jìn)行通信。 預(yù)期學(xué)習(xí)目標(biāo) Docker基本概念 配置本地Docker環(huán)境 容器的生命周期與配置 端口映射和容器鏈接 利用volume保存持久化容器數(shù)據(jù) 檢查容器日志 監(jiān)...

    ssshooter 評論0 收藏0
  • Docker學(xué)習(xí)筆記

    摘要:通過類似的操作來方便用戶獲取分發(fā)和更新應(yīng)用鏡像,指令簡明,學(xué)習(xí)成本較低。例如存放操作系統(tǒng)鏡像的倉庫,稱為倉庫,其中可能包括等不同版本的鏡像。管理服務(wù)如使用實際上是執(zhí)行了命令。啟動使用即退出容器,并后臺運行。 Docker 是一個開源的應(yīng)用容器引擎,讓開發(fā)者可以打包他們的應(yīng)用以及依賴包到一個可移植的容器中,然后發(fā)布到任何流行的 Linux 機器上,也可以實現(xiàn)虛擬化。容器是完全使用沙箱機制...

    jk_v1 評論0 收藏0
  • Docker入門(一)

    摘要:作者麥冬白鯨魚是什么入門教程容器是與系統(tǒng)其他部分隔離開的一系列進(jìn)程,運行這些進(jìn)程所需的所有文件都由另一個鏡像提供,從開發(fā)到測試再到生產(chǎn)的整個過程中,容器都具有可移植性和一致性??焖偃萜鞯膯雍蛣?chuàng)建無需啟動,可以實現(xiàn)秒級甚至毫秒級的啟動。 作者: 麥冬 白鯨魚 docker 是什么 Docker 入門教程 Docker容器是與系統(tǒng)其他部分隔離開的一系列進(jìn)程,運行這些進(jìn)程所需的所有文件都由...

    zebrayoung 評論0 收藏0
  • runc容器逃逸漏洞最強后續(xù):應(yīng)對之策匯總與熱點疑問解答

    摘要:年月日,研究人員通過郵件列表披露了容器逃逸漏洞的詳情,根據(jù)的規(guī)定會在天后也就是年月日公開。在號當(dāng)天已通過公眾號文章詳細(xì)分析了漏洞詳情和用戶的應(yīng)對之策。 美國時間2019年2月11日晚,runc通過oss-security郵件列表披露了runc容器逃逸漏洞CVE-2019-5736的詳情。runc是Docker、CRI-O、Containerd、Kubernetes等底層的容器運行時,此...

    PingCAP 評論0 收藏0
  • (全棧學(xué)習(xí)實踐)、docker搭建redis主從實踐

    摘要:前面容器重建后需要重新運行命令綁定關(guān)聯(lián),需要命令行下生效。直接同步成功,在查看關(guān)系均有對方信息。是否要守護(hù)進(jìn)程這里是經(jīng)過多次測試,發(fā)現(xiàn)容器重啟,也會正常啟動。哨兵的配置于此類似,略過。 前面mysql容器重建后需要重新運行 change master to 命令綁定關(guān)聯(lián),8.0需要命令行下生效。redis首先想到用官方的,沒想到進(jìn)去各個基本shell命令無法使用,所以先棄了。這次由于官...

    wall2flower 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<