摘要:,,當前使用的容器名為,為。守護式容器沒有交互式會話,適合運行應用程序和服務。大多數時候是需要以守護式來運行容器。與之前創建的容器相比,沒有返回會話,只是返回了一個容器。刪除容器運行中的容器無法刪除,必須先停止。
windows 7, docker 1.3.2,當前使用的容器名為aoct,ID為614122c0aabb。
開啟已經停止的容器可以start + 容器名
$ sudo docker start aoct
或start + 容器ID
$ sudo docker start 614122c0aabb
查看現在正在運行的容器:
$ sudo docker ps
還可以用docker restart重啟。
附到容器上Docker容器重新啟動時,會沿用docker run命令指定的參數來運行,所以重新啟動后會運行一個交互式會話shell。也可以用docker attach命令重新附到該容器的會話上:
$ sudo docker attach aoct
現在就重新回到容器的巴士提示符。
也可以用容器ID:
$ sudo docker attach 614122c0aabb創建守護式容器
除了這些交互式運行的容器(interactive container),也可以創建長期運行的容器。守護式容器(daemonized container)沒有交互式會話,適合運行應用程序和服務。大多數時候是需要以守護式來運行容器。
可以通過添加 -d 參數來實現,創建一個叫aofo的容器:
sudo docker run --name aofo -d ubuntu:14.04 /bin/sh -c "while true; do echo hello world; sleep 1; done"
上面的命令會讓容器在后臺運行。使用了一個while循環,改循環會一直打印hello world,知道容器或其進程停止運行。
與之前創建的容器相比,沒有返回shell會話,只是返回了一個容器ID。
查看現在正在運行的容器:
$ sudo docker ps容器內部在干些什么
上面創建了一個在后臺運行while循環的守護型容器,可以用docker logs查看容器日志:
$ sudo docker logs aofo
可以在命令后使用-f參數來健康Docker日志,這與tail -f非常相似:
$ sudo docker logs -f aofo
然后就會看到一直輸出hello world??梢酝ㄟ^ctrl+c來退出監控個。
查看容器內的進程$ sudo docker top aofo
可以看到容器內的所有進程(主要是while循環)、運行進程的用戶、進程ID:
在容器內部運行進程Docker 1.3 之后可以通過docker exec命令在容器內部額外啟動新進程??梢栽谌萜鲀冗\行兩種進程:后臺任務、交互式任務。后臺任務在容器內運行且沒有交互需求,交互式二年五則保持在前臺運行。對于需要早容器內部貸款shell的任務,用交互式任務.
后臺任務例子:$ sudo docker exec -d daemon aofo touch /etc/new_config_file
代碼解釋:
-d標志標明要運行一個后臺進程,后面指定要在內部執行這個命令的容器名,我用的是aofo。整句命令在aofo容器內創建了一個空文件夾new_config_file。
$ sudo docker exec -t -i aofo /bin/bash
代碼解釋:
和運行交互容器一一,這里-t、-i標志位指明創建TTY并捕捉STDIN。后面指定要在內部執行這個命令的容器名,我用的是aofo。整句命令在aofo容器內創建新的bash對話,就可以在該容器運行其他命令了。
停止守護式容器docker exec命令是在 Docker 1.3 引入的,之前版本不支持。可用nsenter命令
docker stop命令:
$ sudo docker stop aofo
也可以用容器ID只帶容器名稱:
$ sudo docker stop ffffd958443007
如果想快速停止容器,還可以用docker kill命令:
$ sudo docker kill aofo
可以用docker ps命令產科當前運行的容器。也可以用docker ps -n x,該命令會顯示最后x個容器,不論這些容器是運行還是停止的。
$ sudo docker ps -n 2深入容器
用docker inspect獲取更多的容器信息:
$ sudo docker inspect aofo
可以用-f或者--format標志來選定查看結果。
查看容器運行狀態:
$ sudo docker inspect --format="{{ .State.Running }}" aofo
查看容器IP地址:
docker@boot2docker:~$ sudo docker inspect --format="{{ .NetworkSettings.IPAddress }}" aofo
我沒有設置,所以返回空:
-f和--format標志支持完整的GO語言模板。用它進程查詢時,可以重復利用GO語言米板的優勢。
可以同時制定多個容器,并顯示每個容器的結果:
$ 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`
這不是常規命令,只是小技巧。docker ps列出所有現有的容器,-a標志列出所有(all)容器,-q返回容器ID。這樣就得到了容器ID列表,并傳給docker rm命令,從而達到刪除所有容器的目的。
【本人的學習筆記,主要是對《我的第一本Docker書》、《Docker —— 從入門到實踐》的學習記錄,并結合其他各種資源的學習?!?/p>
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/26359.html
摘要:系統有兩個程序服務端和客戶端。其中服務端是一個服務進程,管理著所有的容器??蛻舳藙t扮演著服務端的遠程控制器,可以用來控制的服務端進程。守護進程會處理復雜繁重的任務,例如建立運行發布你的容器??蛻舳撕褪刈o進程之間通過或者進行通信。 預期學習目標 Docker基本概念 配置本地Docker環境 容器的生命周期與配置 端口映射和容器鏈接 利用volume保存持久化容器數據 檢查容器日志 監...
摘要:通過類似的操作來方便用戶獲取分發和更新應用鏡像,指令簡明,學習成本較低。例如存放操作系統鏡像的倉庫,稱為倉庫,其中可能包括等不同版本的鏡像。管理服務如使用實際上是執行了命令。啟動使用即退出容器,并后臺運行。 Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然后發布到任何流行的 Linux 機器上,也可以實現虛擬化。容器是完全使用沙箱機制...
摘要:作者麥冬白鯨魚是什么入門教程容器是與系統其他部分隔離開的一系列進程,運行這些進程所需的所有文件都由另一個鏡像提供,從開發到測試再到生產的整個過程中,容器都具有可移植性和一致性。快速容器的啟動和創建無需啟動,可以實現秒級甚至毫秒級的啟動。 作者: 麥冬 白鯨魚 docker 是什么 Docker 入門教程 Docker容器是與系統其他部分隔離開的一系列進程,運行這些進程所需的所有文件都由...
摘要:年月日,研究人員通過郵件列表披露了容器逃逸漏洞的詳情,根據的規定會在天后也就是年月日公開。在號當天已通過公眾號文章詳細分析了漏洞詳情和用戶的應對之策。 美國時間2019年2月11日晚,runc通過oss-security郵件列表披露了runc容器逃逸漏洞CVE-2019-5736的詳情。runc是Docker、CRI-O、Containerd、Kubernetes等底層的容器運行時,此...
摘要:前面容器重建后需要重新運行命令綁定關聯,需要命令行下生效。直接同步成功,在查看關系均有對方信息。是否要守護進程這里是經過多次測試,發現容器重啟,也會正常啟動。哨兵的配置于此類似,略過。 前面mysql容器重建后需要重新運行 change master to 命令綁定關聯,8.0需要命令行下生效。redis首先想到用官方的,沒想到進去各個基本shell命令無法使用,所以先棄了。這次由于官...
閱讀 1195·2021-09-22 15:24
閱讀 2295·2019-08-30 15:44
閱讀 2623·2019-08-30 10:55
閱讀 3362·2019-08-29 13:25
閱讀 1644·2019-08-29 13:09
閱讀 1401·2019-08-26 14:05
閱讀 1395·2019-08-26 13:58
閱讀 1988·2019-08-26 11:57