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]
智能推荐

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
© 2014-2019 ITdaan.com 粤ICP备14056181号  

赞助商广告