docker命令 - 容器操作
获取信息
-
列出某个容器的详细配置
docker inspect <container_id>或容器名 -
列出某个容器的日志打印
docker logs <container_id>或容器名- 对于打印出的记录时间,是零时区,要加8小时才代表北京时间
- 常用参数
- 无参
- 打印所有日志信息(一般不用这个,太多了)
--tail 500- 打印最近的500条日志
--since 2022-07-15T16:00:00 --until 2022-07-15T16:03:00- 这里直接用北京时间做输入,无需换算零时区
- 打印 从下午4点开始,到4点03分 的日志
- 无参
-
列出某个容器的端口映射
docker port <container_id>或容器名 -
列出某个容器相关的进程
docker top <container_id>或容器名
执行命令
-
进入容器内交互
docker exec -it <container_id>或容器名 /bin/sh- 可用
-e var1=v1预先传递一些环境变量,在里面交互时可以使用
- 可用
-
直接让容器执行一句命令
docker exec <container_id>或容器名 一句命令- 如果要后台执行,就加上
-d参数
- 如果要后台执行,就加上
-
复制 容器内的文件夹 到 本地机器
docker cp <container_id>或容器名:文件夹路径 本地机器路径
监控
-
实时查看资源使用情况
docker stats <container_id>或容器名 -
把标准输入与标准输出连接到正在运行的容器
docker attach <container_id>或容器名-
这样连接是很危险的,因为默认把标准输入也连进去了
- 这时候如果不小心按了
ctrl + c,就会发送SIGINT中断信号,导致容器被停止 - 如果只是想退出去,可以先按
ctrl + p,再按ctrl + q - 如果不想连接标准输入,则使用参数
--no-stdin=false
- 这时候如果不小心按了
-
与exec的区别
- docker exec 进入容器后开启一个新的终端,可以在里面操作(常用)
- docker attach 进入容器正在执行的终端,不会启动新的进程,只是附着到上面
-