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

注意!

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



猜您在找
4.Ubuntu16.04Docker的守护式容器 Docker 学习基本操作与守护式容器 Docker的Ubuntu16.04容器如何汉化 创建守护式容器 Ubuntu16.04 部署安装Docker容器 & 注意事项
智能推荐
 
© 2014-2019 ITdaan.com 粤ICP备14056181号  

赞助商广告