小白兔晒黑了

导航

 

1 启动守护式容器 docker run -d

fa7ff04b376967d443cf8fdf160ba40ce269bf3cd21118553dfe1b6faf6532ce 是启动的容器的id

但是docker ps一下发现并没有活着的进程?因为docker容器后台运行,就必须有一个前台进程

容器运行的命令 如果不是那些一直挂起的命令(比如运行top、tail),就会自动退出

这个是docker的机制问题,比如你的web容器,我们以nginx为例,正常情况下,我们配置启动服务只需要启动响应的service即可。例如

service nginx start

但是,这样做的nginx为后台进程模式运行,就导致docker前台没有运行的应用,

这样的容器后台启动后,会立即自杀。因为他觉得没事可以做了。所以,最佳的解决方案是,将你要运行的程序以前台进程的形式运行

 

2 查看容器日志 docker logs 容器id

2.1 -t是加入时间戳

2.2 -f 跟随最新的日志打印

2.3 --tail数字 显示最后多少条

https://www.runoob.com/docker/docker-logs-command.html更多使用方法

3 查看容器内运行的进程 docker top 容器id



相当于linux也有top命令查看进程

4 查看容器内部细节 docker inspect 容器id

 

5 进入正在运行的容器并以命令行交互

5.1 重新进入docker attach 容器id

启动一个容器

在另一个窗口进入

按ctrl+Q+P退出

5.2 docker exec -it 容器id bashShell

OPTIONS说明:

  • -d :分离模式: 在后台运行

  • -i :即使没有附加也保持STDIN 打开

  • -t :分配一个伪终端

在宿主机外面执行,没有进入容器。

5.3 exec与attach的区别

attach:

直接进入容器启动命令的终端,不会启动新的进程

exec:

在容器中打开新的终端,并且可以启动新的进程。功能更强大,可以在外面操控容器内部。

attach 相当于 docker exec -t 容器id  /bin/bash

这样也可以进入容器

6 从容器内的数据拷贝文件到主机上 docker cp 容器id:容器内路径 目的主机路径

docker cp a0c38e6f2640:/tmp/ks-script-eusq_sc5 ~

 总结

 

posted on 2021-01-29 00:54  小白兔晒黑了  阅读(52)  评论(0编辑  收藏  举报