网站首页 > 基础教程 正文
您刚刚开始 Docker 之旅并认为您了解一切?系好安全带,学习一些奇特的新命令,给您的朋友和老板留下深刻的印象!
1.docker system df
如果您像我一样,您可能会左右构建 docker 容器,而没有真正考虑所有内容的存储位置。想要了解您的容器、图像、卷和缓存工件需要多少存储空间?只需运行一下docker system df,您就会惊讶地发现有多少磁盘空间仅用于 docker
PS:占用空间太多?尝试这个:docker system prune --all
2.docker stats
继续使用监控命令,您是否知道您可以准确地看到每个容器正在使用多少资源?你可以看到CPU、内存、甚至网络使用情况!如果您正在运行不是自己构建的容器并且需要密切关注它们,则特别有用
只需运行即可docker stats查看所有有趣的细节!
3.docker build --cpu-quota=50000
大家都知道 Docker 喜欢使用所有可用的 CPU 资源,这使得构建过程中的其他一切都变得超级慢。但是,如果我们可以告诉 Docker 使用多少可用 CPU 呢?
这个问题的解决方案是命令--cpu-quota的标志docker build,在执行时甚至没有记录docker build --help!该--cpu-quota标志允许您定义可以使用多少 CPU 内核。每个核心等于 100000。如果您有 4 核 CPU,并且您希望docker build最多使用 CPU 的 80%,则需要计算 4 * 100000 * 0.8 = 320000,然后设置--cpu-quota 320000。在 Linux 或 Macos 上,您还可以自动计算:
# Linux
docker build --cpu-quota $(( $(grep -c ^processor /proc/cpuinfo) * 100000 * 8 / 10 )) -t your_image_name your_docker_directory
# MacOS
docker build --cpu-quota $(( $(sysctl -n hw.logicalcpu) * 100000 * 8 / 10 )) -t your_image_name your_docker_directory
4.docker cp
docker cp 命令对于在正在运行的 Docker 容器和本地文件系统之间复制文件或目录非常有用。当您需要从容器中提取日志或输出文件时,这尤其方便。该命令非常简单:您需要容器名称、容器内文件的路径以及文件系统上应将文件复制到的路径。然后将其组合起来得到类似的东西:
5.docker top
好吧,最后但并非最不重要的一点是我们有docker top!docker top打印出正在运行的容器内当前正在运行的进程。如果您使用 启动一个容器--name myapp,只需运行docker top myapp,您就会看到容器内发生了什么。如果您正在调试容器并且不确定CMD命令是否正确,这尤其有用!
结论
我真的希望你今天学到了一两个新的 docker 命令!如果您需要任何帮助,或者对这些命令有任何疑问,请发表评论!
关注并回复【docker】即可领取学习资料大礼包
猜你喜欢
- 2025-05-03 【Docker】部署 Elasticsearch(docker运行elasticsearch)
- 2025-05-03 若依框架改造,阿里docker部署(若依框架开发教程)
- 2025-05-03 软件测试/测试开发丨必知必会的Docker 命令
- 2025-05-03 如何从主机复制文件到Docker容器(如何从主机复制文件到docker容器里)
- 2025-05-03 Windows搭建Agent开发平台-WSL2+Dify本地部署及开发指南
- 2025-05-03 docker安装prometheus和grafana(docker如何安装)
- 2025-05-03 从Docker容器复制文件到主机的方法
- 2025-05-03 在Debian Docker环境一键部署Dify:手把手教你搭建本地AI应用平台
- 2025-05-03 【Docker】部署Jira&Confluence
- 2025-05-03 精辟!阿里大牛泪解:docker镜像制作——构建企业镜像LAMP+BBS
- 最近发表
- 标签列表
-
- jsp (69)
- pythonlist (60)
- gitpush (78)
- gitreset (66)
- python字典 (67)
- dockercp (63)
- gitclone命令 (63)
- pythonif (68)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- exec命令 (59)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- node教程 (59)
- console.table (62)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)