docker后端运行和监控等命令
1.重点: 后台守护式启动
比如,redis就需要后台守护式启动: docker run -d redis
有的就只能前台交互式启动,比如: docker run -it ubuntu /bin/bash
docker run -it ubuntu /bin/bash
会以交互式方式启动容器,然后打开伪交互终端
#使用鏡像centos:latest 以后台模式启动一·个容器
docker run -d ubuntu
: 然后 docker ps -a 行查看, 会发容器已经退出
很重要的要說明的一点: Docker 容器后台运行, 就必有一个前台進程.
容器运行的命令如果不是那些一直挂起的命令 (比如运行top, tail) , 就是会自动退出的。
这个是 docker 的机制,比如你的web 容器, 我以nginx 例, 正常情况下,
我配置啟动服务具需要启动响的service 即可。 例如service nginx start
但是,样做,nginx 为后台进程模式运行, 就导致docker 前台沒有运行的应用,
这样的容器后台启动后, 会立即自杀,因为他觉得他沒事可做了。
所以, 最佳的解決方案是 :将你要运行的程序以前台进程的形式运行,
常见就是命令行模式, 表示我还有交互操作, 别中断, 〇(_)〇哈哈~
所以,docker启动一些容器需要一定用-it,有些一定要用-d
比如,redis就需要后台守护式启动: docker run -d redis
有的就只能前台交互式启动,比如: docker run -it ubuntu
2. 当前项目的流程
编码开发微服务 -》 上线部署容器化 -》时时刻刻要监控
2.查看日志:docker logs xxxcontainerId
3.查看容器内运行的进程:docker top xxxContainerId
4.查看容器内部细节: docker inspect xxxContainerId
5.进入正在运行的容器 并以命令行交互:
docker exec -it xxcontainerId /bin/bash #推荐这个方式
或者
docker attach xxcontainerId
docker exec -it xxcontainerId /bin/bash 和 docker attach xxcontainerId 的区别:
7.docker带来的 公司项目开发部署的区别:
8.容器中的资料cp
docker cp contanerId:/tmp/a.txt /software
9.
导出容器:docker export contanerId > 文件名.tar
导入容器:cat 文件名.tar | docker import - atguigu/ubuntu:3.7
导出容器:
导入容器: