docker守护式容器

什么是守护式容器:
能够长期运行没有交互式的会话

以守护形式运行容器
docker run -i -t image /bin/bash
root@eddy:~/ubuntu-precise# docker run -i -t ubuntu-base /bin/bash
root@55d94cfcc622:/#
使用ctrl+p ctrl+q
root@eddy:~/ubuntu-precise# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
55d94cfcc622        ubuntu-base         "/bin/bash"         42 seconds ago      Up 40 seconds                           adoring_jones
这样我们看到容器依然是运行中的

再次进入到容器中
root@eddy:~/ubuntu-precise# docker attach 55d94cfcc622

root@55d94cfcc622:/#exit
root@eddy:~/ubuntu-precise# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
这样我们看到容器就停止了

以run命令启动一个守护式容器
 docker run --name dc1 -d images /bin/bash
 
root@eddy:~/ubuntu-precise# docker run --name dc1 -d ubuntu-base /bin/bash -c "while true;do echo hello world;sleep 1;done"
6ac95abee8bee73cdd8f92a588753548a103890d302beb2ca27c02bf66039576
root@eddy:~/ubuntu-precise# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
6ac95abee8be        ubuntu-base         "/bin/bash -c 'while "   18 seconds ago      Up 17 seconds                           dc1
容器依然在运行

这里只是以后台方式运行容器,如果命令结束,容器依然会关闭

查看容器内部运行情况,容器日志
docker logs -f -t --tail container-name

-f,一直跟踪日志的变化,默认是false
-t,给日志加上时间戳
--tail =‘all‘
不加参数会返回所有的日志

root@eddy:~/ubuntu-precise# docker logs  -tf dc1
实时打印日志
root@eddy:~/ubuntu-precise# docker logs  -tf --tail 0 dc1
实时打印最新一条日志
root@eddy:~/ubuntu-precise# docker logs  -tf --tail 10 dc1
实时打印最后10条日志

查看容器内的进程
root@eddy:~/ubuntu-precise# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
6ac95abee8be        ubuntu-base         "/bin/bash -c 'while "   7 minutes ago       Up 7 minutes                            dc1

root@eddy:~/ubuntu-precise# docker top dc1
UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
root                16205               1350                0                   23:32               ?                   00:00:00            /bin/bash -c while true;do echo hello world;sleep 1;done
root                16741               16205               0                   23:40               ?                   00:00:00            sleep 1

在运行中的容器启动新的进程
docker exec -d -i -t container-name command

root@eddy:~/ubuntu-precise# docker exec -i -t dc1 /bin/bash
使用ctrl+p ctrl+q
root@eddy:~/ubuntu-precise# docker top dc1
UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
root                16205               1350                0                   23:32               ?                   00:00:00            /bin/bash -c while true;do echo hello world;sleep 1;done
root                16875               1350                1                   23:42               pts/10              00:00:00            /bin/bash
root                16894               16205               0                   23:42               ?                   00:00:00            sleep 1
可以看到启动的新的进程

停止守护式进程
docker stop container-anme
docker kill contai-name
stop发送一个信号等待容器停止
kill会直接停止容器
root@eddy:~/ubuntu-precise# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
6ac95abee8be        ubuntu-base         "/bin/bash -c 'while "   11 minutes ago      Up 11 minutes                           dc1
root@eddy:~/ubuntu-precise# docker kill dc1
dc1
root@eddy:~/ubuntu-precise# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES


转载于:https://my.oschina.net/eddylinux/blog/607725

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值