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

来源:互联网 发布:陕西天互数据 编辑:程序博客网 时间:2024/06/10 06:42

Ubuntu16.04Docker的守护式容器

一个长期运行的docker容器

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

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

eggyer@ubuntu:/usr/local$ docker start -i container01root@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"327d5a30f1868441afa84ef2d662231e81208de400ddcf7627d3d716a5544b23eggyer@ubuntu:/usr/local$ docker run --name dc2 -d ubuntu /bin/sh -c "while ture; do echo hello world ; sleep 1 ; done"ed4d220ff1641c25f2a09d98ca782b0b2fce83757afe9f425720f8bee88ae363eggyer@ubuntu:/usr/local$ docker psCONTAINER ID        IMAGE               COMMAND                  CREATED              STATUS              PORTS               NAMES327d5a30f186        ubuntu              "/bin/sh -c 'while tr"   About a minute ago   Up About a minute                       dc1ba87d27bc76b        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 dc12016-11-25T04:22:46.719205664Z hello world2016-11-25T04:22:47.724140003Z hello world2016-11-25T04:22:48.725077228Z hello world2016-11-25T04:22:49.727058824Z hello world2016-11-25T04:22:50.728686540Z hello world2016-11-25T04:22:51.730098883Z hello world2016-11-25T04:22:52.751960337Z hello world2016-11-25T04:22:53.825757981Z hello world2016-11-25T04:22:54.900392223Z hello world2016-11-25T04:22:55.870650636Z hello world2016-11-25T04:22:56.871486266Z hello world2016-11-25T04:22:57.873128289Z hello world2016-11-25T04:22:58.876411867Z hello world2016-11-25T04:22:59.879200601Z hello world2016-11-25T04:23:00.881141713Z hello world2016-11-25T04:23:01.883656071Z hello world2016-11-25T04:23:02.885226484Z hello world2016-11-25T04:23:03.887600387Z hello world

查看容器内的进程

eggyer@ubuntu:/usr/local$ docker top dc1UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMDroot                34114               957                 0                   12:18               ?                   00:00:00            /bin/sh -c while true ;do echo hello world ; sleep 1 ; doneroot                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 dc1UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMDroot                34114               957                 0                   12:18               ?                   00:00:00            /bin/sh -c while true ;do echo hello world ; sleep 1 ; doneroot                36448               957                 0                   12:26               pts/20              00:00:00            /bin/shroot                36481               34114               0                   12:26               ?                   00:00:00            sleep 1eggyer@ubuntu:/usr/local$ 

停止守护式进程

docker stop 容器名发送命令给容器等待容器停止eggyer@ubuntu:/usr/local$ docker stop dc1dc1docker kill 容器名直接停止容器eggyer@ubuntu:/usr/local$ docker kill dc2Error response from daemon: Cannot kill container dc2: notrunning: Container ed4d220ff1641c25f2a09d98ca782b0b2fce83757afe9f425720f8bee88ae363 is not runningError: failed to kill containers: [dc2]
0 0
原创粉丝点击