4.Ubuntu16.04Docker的守护式容器

Ubuntu16.04Docker的守护式容器

一个长期运行的docker容器

做法:建立一个交互式容器使用ctrl+q ctrl+q退出而非exit

交互式容器使用ctrl+q ctrl+q退出

eggyer@ubuntu:/usr/local$ docker start -i container01
root@0409e42a2dd2:/# eggyer@ubuntu:/usr/local$ 

再次进入守护式容器 attach命令

root@0409e42a2dd2:/# eggyer@ubuntu:/usr/local$ docker attach container01 

root@0409e42a2dd2:/# 

使用run命令启动守护式容器

docker run -d 镜像名[COMMAND][arg...]

eggyer@ubuntu:/usr/local$ docker run --name dc1 -d ubuntu /bin/sh -c "while true ;do echo hello world ; sleep 1 ; done"
327d5a30f1868441afa84ef2d662231e81208de400ddcf7627d3d716a5544b23
eggyer@ubuntu:/usr/local$ docker run --name dc2 -d ubuntu /bin/sh -c "while ture; do echo hello world ; sleep 1 ; done"
ed4d220ff1641c25f2a09d98ca782b0b2fce83757afe9f425720f8bee88ae363
eggyer@ubuntu:/usr/local$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED              STATUS              PORTS               NAMES
327d5a30f186        ubuntu              "/bin/sh -c 'while tr"   About a minute ago   Up About a minute                       dc1
ba87d27bc76b        ubuntu              "/bin/bash"              33 minutes ago       Up 33 minutes                           romantic_franklin

查看容器日志

docker logs [-f][-t][--tail] 容器名

-f --follow=true|false 默认为false 一直跟踪命令变化并返回结果
-t --timestamps=true|false 默认为false 在返回结果上加上时间戳

--tail="all"

eggyer@ubuntu:/usr/local$ docker logs -tf --tail 10 dc1
2016-11-25T04:22:46.719205664Z hello world
2016-11-25T04:22:47.724140003Z hello world
2016-11-25T04:22:48.725077228Z hello world
2016-11-25T04:22:49.727058824Z hello world
2016-11-25T04:22:50.728686540Z hello world
2016-11-25T04:22:51.730098883Z hello world
2016-11-25T04:22:52.751960337Z hello world
2016-11-25T04:22:53.825757981Z hello world
2016-11-25T04:22:54.900392223Z hello world
2016-11-25T04:22:55.870650636Z hello world
2016-11-25T04:22:56.871486266Z hello world
2016-11-25T04:22:57.873128289Z hello world
2016-11-25T04:22:58.876411867Z hello world
2016-11-25T04:22:59.879200601Z hello world
2016-11-25T04:23:00.881141713Z hello world
2016-11-25T04:23:01.883656071Z hello world
2016-11-25T04:23:02.885226484Z hello world
2016-11-25T04:23:03.887600387Z hello world

查看容器内的进程

eggyer@ubuntu:/usr/local$ docker top dc1
UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
root                34114               957                 0                   12:18               ?                   00:00:00            /bin/sh -c while true ;do echo hello world ; sleep 1 ; done
root                36241               34114               0                   12:24               ?                   00:00:00            sleep 1

在docker中启动新进程

docker exec[-d][-i][-y] 容器名 [Command][args..]

eggyer@ubuntu:/usr/local$ docker exec -i -t dc1 /bin/sh
# 
# eggyer@ubuntu:/usr/local$ docker top dc1
UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
root                34114               957                 0                   12:18               ?                   00:00:00            /bin/sh -c while true ;do echo hello world ; sleep 1 ; done
root                36448               957                 0                   12:26               pts/20              00:00:00            /bin/sh
root                36481               34114               0                   12:26               ?                   00:00:00            sleep 1
eggyer@ubuntu:/usr/local$ 

停止守护式进程

docker stop 容器名
发送命令给容器等待容器停止
eggyer@ubuntu:/usr/local$ docker stop dc1
dc1

docker kill 容器名
直接停止容器
eggyer@ubuntu:/usr/local$ docker kill dc2
Error response from daemon: Cannot kill container dc2: notrunning: Container ed4d220ff1641c25f2a09d98ca782b0b2fce83757afe9f425720f8bee88ae363 is not running
Error: failed to kill containers: [dc2]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值