Docker守護程序
其中守護程序有兩種方式,一種是使用基本的命令
[root@localhost ~]# docker run -i -t 映象名 /bin/bash
然後使用ctrl+p,ctrl+q返回。
[root@localhost ~]# docker run -i -t hub.c.163.com/library/centos /bin/bash
[root@65cbc174b72b /]#
[root@65cbc174b72b /]#
[root@65cbc174b72b /]# ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 01:37 ? 00:00:00 /bin/bash
root 15 1 0 01:38 ? 00:00:00 ps -ef
[root@65cbc174b72b /]#
[root@65cbc174b72b /]# [root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]# docker ps -l
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
65cbc174b72b hub.c.163.com/library/centos "/bin/bash" 15 minutes ago Up 15 minutes cranky_leakey
[root@localhost ~]#
第二種,比較常用的方式是使用命令:
[[email protected] ~]# docker run -d 映象名 [COMMAND][ARG...]
-d是使用後臺的方式啟動容器。
啟動名字為daemon_test1的容器,每隔1秒列印一條hello docker:
[root@localhost ~]# docker run --name daemon_test1 -d hub.c.163.com/library/ubuntu /bin/sh -c "while true;do echo hello docker;sleep 1;done;"
3d8b0e8ba1eab452494aa386d2be72137a661880a54b4b571f28311f59301d6d
[root@localhost ~]# docker ps -l
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3d8b0e8ba1ea hub.c.163.com/library/ubuntu "/bin/sh -c 'while tr" 51 seconds ago Up 44 seconds daemon_test1
[root@localhost ~]#
可以通過命令檢視列印的日誌
[[email protected] ~]# docker logs [-ft] [--tail n] 映象名
-f 檢視實時日誌
-t 日誌帶上時間戳
–tail n 檢視最新的多少條
[[email protected] ~]# docker logs -ft --tail 10 daemon_test1
2017-03-13T02:09:51.589738000Z hello docker
2017-03-13T02:09:52.590453000Z hello docker
2017-03-13T02:09:53.591538000Z hello docker
2017-03-13T02:09:54.593297000Z hello docker
2017-03-13T02:09:55.595479000Z hello docker
2017-03-13T02:09:56.596623000Z hello docker
2017-03-13T02:09:57.597450000Z hello docker
2017-03-13T02:09:58.598044000Z hello docker
2017-03-13T02:09:59.598696000Z hello docker
2017-03-13T02:10:00.599467000Z hello docker
2017-03-13T02:10:01.600191000Z hello docker
2017-03-13T02:10:02.601255000Z hello docker
2017-03-13T02:10:03.602785000Z hello docker
我們可以通過以下命令檢視容器中進行執行情況:
[root@localhost ~]# docker top 映象名
示例:
[root@localhost ~]# docker ps -l
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3d8b0e8ba1ea hub.c.163.com/library/ubuntu "/bin/sh -c 'while tr" 21 minutes ago Up 21 minutes daemon_test1
[root@localhost ~]# docker top daemon_test1
UID PID PPID C STIME TTY TIME CMD
root 27478 27460 0 10:07 ? 00:00:00 /bin/sh -c while true;do echo hello docker;sleep 1;done;
root 29879 27478 0 10:29 ? 00:00:00 sleep 1
[root@localhost ~]#
一般我們會在一個容器中執行多個程序,使用以下命令在一個容器中執行新的程序:
[[email protected] ~]# docker exec [-d] [-i] [-t] 容器名 [COMMAND][ARG...]
示例:
[root@localhost ~]# docker exec -i -t daemon_test1 /bin/bash
root@3d8b0e8ba1ea:/#
root@3d8b0e8ba1ea:/# ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 02:36 ? 00:00:00 /bin/sh -c while true;do echo hello docker;sleep 1;done;
root 20 0 0 02:36 ? 00:00:00 /bin/bash
root 33 1 0 02:36 ? 00:00:00 sleep 1
root 34 20 0 02:36 ? 00:00:00 ps -ef
root@3d8b0e8ba1ea:/#
[root@localhost ~]# docker top daemon_test1
UID PID PPID C STIME TTY TIME CMD
root 30110 30092 0 10:36 ? 00:00:00 /bin/sh -c while true;do echo hello docker;sleep 1;done;
root 30179 30163 0 10:36 pts/3 00:00:00 /bin/bash
root 30267 30110 0 10:37 ? 00:00:00 sleep 1
[root@localhost ~]#
那麼如何停止執行中守護程序,使用以下兩種命令
docker stop 容器名
docker kill 容器名
stop是發一個訊號給容器,等待容器的停止(會有時間等待),kill是直接停止容器。
示例:
[root@localhost ~]# docker stop daemon_test1
daemon_test1
[root@localhost ~]#
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
65cbc174b72b hub.c.163.com/library/centos "/bin/bash" About an hour ago Up About an hour cranky_leakey
b4f32bbe4a34 hub.c.163.com/library/ubuntu "/bin/bash" 39 hours ago Up 39 hours loving_brattain
d75a2d8c7822 xingguo/df_test1 "nginx -g 'daemon off" 47 hours ago Up 47 hours 0.0.0.0:32770->80/tcp df_nginx_web
959c0fc5d903 xingguo/commit_test1 "nginx -g 'daemon off" 2 days ago Up 2 days 0.0.0.0:32769->80/tcp nginx_test
[root@localhost ~]# docker kill cranky_leakey
cranky_leakey
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b4f32bbe4a34 hub.c.163.com/library/ubuntu "/bin/bash" 39 hours ago Up 39 hours loving_brattain
d75a2d8c7822 xingguo/df_test1 "nginx -g 'daemon off" 47 hours ago Up 47 hours 0.0.0.0:32770->80/tcp df_nginx_web
959c0fc5d903 xingguo/commit_test1 "nginx -g 'daemon off" 2 days ago Up 2 days 0.0.0.0:32769->80/tcp nginx_test
[root@localhost ~]#
相關推薦
Docker守護程序
其中守護程序有兩種方式,一種是使用基本的命令 [root@localhost ~]# docker run -i -t 映象名 /bin/bash 然後使用ctrl+p,ctrl+q返回。 [root@localhost ~]# docker ru
ubuntu中docker守護程序無法啟動
在阿里雲上安裝了docker 但是無法啟動服務, 執行命令 service docker start 系統提示 start: Job failed to start 執行docker -d 出現如下提示:FATA[0000] Shutting do
Docker 守護程序+遠端連線+安全訪問 (完整收藏版)
一 Docker服務端,客戶端和CA證書 預設情況下,Docker通過非聯網的Unix套接字執行。它還可以選擇使用HTTP套接字進行通訊。 這裡有三個角色,Docker服務端和Docker客戶端和CA簽名的證書 Docker服務端:對應執行
Docker學習之守護程序
在讀《第一本Docker書》這本教程時,遇到Docker守護程序這個概念。首先需要理解守護程序是什麼,自然也就知道Docker守護程序的含義。 守護程序來自於Linux系統下的一部分,對於不太熟悉Linux系統的我來說,暫時只要知道守護程序是幹什麼的就可以了,所以寫一下我在查閱資料後對守護程序的
7、CentOS7 安裝Docker之擴充套件(設定守護程序對外開放)
設定守護程序對外開放 雖然預設下你的Docker daemon只允許在本機訪問,但有時候也有充足理由讓其他人訪問。你可能有什麼問題想讓其他人遠端除錯,或者你可能想允許DevOps工作流來啟動主機上的一個程序。 問題 你想對其
docker cli和守護程序的關係
Docker並非單體應用,它由多個元件構成。介紹Docker守護程序(daemon)與Docker命令列(CLI)。事實上,當我們在談論安裝或使用Docker時,所指的其實就是Docker守護程序與命令列。 Docker守護程序(docker daemon)是
docker學習篇(6)--守護程序配置(配置國內映象)以及docker日誌
概述如何配置國內映象配置引數有哪些docker執行日誌位置1、如何配置國內映象※ 此配置可能因docker版本造成配置略有不同,具體要參照對應docker具體版本的文件,我的版本是17.51)修改檔案/etc/docker/daemon.json,增加如資訊{"registr
Android Studio無法啟動 Gradle ,無法啟動守護程序
bsp fin tar gradle ace option star brush intro Error:Unable to start the daemon process. This problem might be caused by incorrect confi
linux守護程序小結
建立守護程序步驟: 建立子程序父程序退出, 讓這個子程序變成孤兒程序, 防止產生殭屍程序 在子程序中建立新會話 setsid函式用於建立一個新的會話,並使得當前程序成為新會話組的組長 setsid函式能夠使程序完全獨立出來,從 而脫離所有其他程序的控制。 改
python程序之守護程序
標籤(空格分隔): 守護程序 主程序建立子程序,然後將該程序設定成守護自己的程序,守護程序就好比崇禎皇帝身邊的老太監,崇禎皇帝已死老太監就跟著殉葬了; 關於守護程序需要強調兩點: 其一:守護程序會在主程序程式碼執行結束後就終止 其二:守護程序內無法再開啟子程序,否則丟擲異常:Assert
PHP-Websockets 上傳檔案2 優化支援php socket客戶端和websocket連線websocket伺服器 以守護程序方式執行編碼
WebsocketServer: users.php <?php class WebSocketUser { public $socket; public $id; public $headers = array(); public $handsh
php 編寫linux守護程序
問題:將一個php程式以linux守護程序(在後臺執行)的方式執行? 解決方法:(見程式碼) // index.php檔案 <?php /*實現守護程序化,當你的PHP程式需要轉為後臺執行時, 只需要呼叫一次封裝好的函式init()即可。 編寫守護程序的一般步驟步驟:
守護程序 互斥鎖 程序間通訊
1. 守護程序: from multiprocessing import Process import time def task(): print("11111111111111") time.sleep(3) print("22222222222
第三十六天 守護程序 互斥鎖 程序間通訊
一.昨日回顧 1. 程序 相關概念 併發 看起來像是同時執行的中 本質是不停切換執行 多個程序隨機執行 並行 同一時刻 多個程序 同時進行 只有多喝處理器才有真正的並行 序列 一個一個 依次排隊執行 阻塞 遇到了I/O操作 看起來就是程式碼卡住了 非阻塞 不會卡住程式碼的執行
Python學習的第36天程序之守護程序、互斥鎖
一、守護程序: 1、守護程序: 本質就是一個"子程序",該"子程序"的生命週期<=被守護程序的生命週期,當一個程序作為守護程序時 被被守護的程序死亡時 守護程序也跟隨死亡 2、使用 from multiprocessing import Process import time def ta
【Docker學習總結】6.Docker守護式容器
上一篇總結,我們學習瞭如何執行一個“互動式”的容器,這些容器在命令互動之後就會停止。但是,在大多數情況下,我們需要一個能夠長期執行的容器來提供服務,這就是Docker的“守護式”程序。即我們可以使用守護方式來執行容器,使得容器可以在後臺一直保持執行狀態。 守護式程序的特點是:(1)能夠長期執
用shell寫守護程序指令碼
一個udhcpd與udhcpc的守護,目前只會用shell模仿編寫,還有什麼方法可以做守護呢? #! /bin/sh #程序名字可修改 PRO_NAME=udhcpc WLAN=ra0 while true ; do # 用ps獲取$PRO_NAME程序數量 N
centos7 守護程序
ASP.NET Core應用程式釋出linux在shell中執行是正常的。可一但shell關閉網站也就關閉了,所以要配置守護程序, 用的是Supervisor,本文主要記錄配置的過程和過程遇到的問題 安裝Supervisor 1 yum install python-setu
用Linux守護程序檢測某個程式是否執行
實現功能: 做的一個嵌入式板子開機會自啟動一個程式,但發現它工作數天後會退出。檢查記憶體使用並沒有洩漏,於是編寫了一個守護程序來不斷檢查程式是否執行,沒執行則執行它,這是一個折衷的辦法。 說明: 需要執行的程式是AlarmInterface,位於目錄/rf/下面。我做了
7.Hadoop的學習(Hadoop的配置(偽分散式的搭建)-3(啟動守護程序))
1.經過前面的兩節,我們就可以使用HDFS檔案系統了 2.首先要對檔案系統進行格式化: 執行格式化的命令: hadoop namenode -format 3. 啟動守護程序 進入到