Docker守护进程
来源:互联网 发布:javascript jquery 编辑:程序博客网 时间:2024/05/18 13:23
其中守护进程有两种方式,一种是使用基本的命令
[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 -efUID PID PPID C STIME TTY TIME CMDroot 1 0 0 01:37 ? 00:00:00 /bin/bashroot 15 1 0 01:38 ? 00:00:00 ps -ef[root@65cbc174b72b /]# [root@65cbc174b72b /]# [root@localhost ~]# [root@localhost ~]# [root@localhost ~]# docker ps -lCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES65cbc174b72b hub.c.163.com/library/centos "/bin/bash" 15 minutes ago Up 15 minutes cranky_leakey[root@localhost ~]#
第二种,比较常用的方式是使用命令:
[root@localhost ~]# 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 -lCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES3d8b0e8ba1ea hub.c.163.com/library/ubuntu "/bin/sh -c 'while tr" 51 seconds ago Up 44 seconds daemon_test1[root@localhost ~]#
可以通过命令查看打印的日志
[root@localhost ~]# docker logs [-ft] [--tail n] 镜像名
-f 查看实时日志
-t 日志带上时间戳
–tail n 查看最新的多少条
[root@localhost ~]# docker logs -ft --tail 10 daemon_test12017-03-13T02:09:51.589738000Z hello docker2017-03-13T02:09:52.590453000Z hello docker2017-03-13T02:09:53.591538000Z hello docker2017-03-13T02:09:54.593297000Z hello docker2017-03-13T02:09:55.595479000Z hello docker2017-03-13T02:09:56.596623000Z hello docker2017-03-13T02:09:57.597450000Z hello docker2017-03-13T02:09:58.598044000Z hello docker2017-03-13T02:09:59.598696000Z hello docker2017-03-13T02:10:00.599467000Z hello docker2017-03-13T02:10:01.600191000Z hello docker2017-03-13T02:10:02.601255000Z hello docker2017-03-13T02:10:03.602785000Z hello docker
我们可以通过以下命令查看容器中进行运行情况:
[root@localhost ~]# docker top 镜像名
示例:
[root@localhost ~]# docker ps -lCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES3d8b0e8ba1ea hub.c.163.com/library/ubuntu "/bin/sh -c 'while tr" 21 minutes ago Up 21 minutes daemon_test1[root@localhost ~]# docker top daemon_test1UID PID PPID C STIME TTY TIME CMDroot 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 ~]#
一般我们会在一个容器中运行多个进程,使用以下命令在一个容器中运行新的进程:
[root@localhost ~]# docker exec [-d] [-i] [-t] 容器名 [COMMAND][ARG...]
示例:
[root@localhost ~]# docker exec -i -t daemon_test1 /bin/bashroot@3d8b0e8ba1ea:/# root@3d8b0e8ba1ea:/# ps -efUID PID PPID C STIME TTY TIME CMDroot 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/bashroot 33 1 0 02:36 ? 00:00:00 sleep 1root 34 20 0 02:36 ? 00:00:00 ps -efroot@3d8b0e8ba1ea:/# [root@localhost ~]# docker top daemon_test1UID PID PPID C STIME TTY TIME CMDroot 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/bashroot 30267 30110 0 10:37 ? 00:00:00 sleep 1[root@localhost ~]#
那么如何停止运行中守护进程,使用以下两种命令
docker stop 容器名docker kill 容器名
stop是发一个信号给容器,等待容器的停止(会有时间等待),kill是直接停止容器。
示例:
[root@localhost ~]# docker stop daemon_test1daemon_test1[root@localhost ~]# [root@localhost ~]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES65cbc174b72b hub.c.163.com/library/centos "/bin/bash" About an hour ago Up About an hour cranky_leakeyb4f32bbe4a34 hub.c.163.com/library/ubuntu "/bin/bash" 39 hours ago Up 39 hours loving_brattaind75a2d8c7822 xingguo/df_test1 "nginx -g 'daemon off" 47 hours ago Up 47 hours 0.0.0.0:32770->80/tcp df_nginx_web959c0fc5d903 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_leakeycranky_leakey[root@localhost ~]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESb4f32bbe4a34 hub.c.163.com/library/ubuntu "/bin/bash" 39 hours ago Up 39 hours loving_brattaind75a2d8c7822 xingguo/df_test1 "nginx -g 'daemon off" 47 hours ago Up 47 hours 0.0.0.0:32770->80/tcp df_nginx_web959c0fc5d903 xingguo/commit_test1 "nginx -g 'daemon off" 2 days ago Up 2 days 0.0.0.0:32769->80/tcp nginx_test[root@localhost ~]#
0 0
- Docker守护进程
- Docker客户端与守护进程
- Docker学习之守护进程
- ubuntu中docker守护进程无法启动
- Docker命令行与守护进程如何交互?
- Docker守护进程的配置及日志
- docker容器内通过supervisor来守护进程
- 守护进程守护自身
- 守护线程、守护进程
- Docker 学习笔记(二)--Docker客户端和守护进程
- Docker 开启守护进程后 无法执行docker build 等指令
- 守护进程
- 守护进程
- 守护进程
- 守护进程
- 进程守护
- 守护进程
- 守护进程
- Maven的"Missing artifact ***"问题
- Nginx源码分析—数组结构ngx_array_t
- PHP高级对象构建——工厂模式的使用
- synchronized和lock比对
- python 读取鼠标点击坐标
- Docker守护进程
- css继承性
- QT4 TcpSocket bind问题
- PHP高级对象构建——多个构造函数的使用
- LeetCode: 3Sum
- ORA_ERROR大全
- scala学习-介绍scala的几种特性7
- 华悦慧生活APP技术服务支持
- 字符串问题