5 个你还不知道的 Docker 命令
您刚刚开始 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 命令!如果您需要任何帮助,或者对这些命令有任何疑问,请发表评论!
- 点赞
- 收藏
- 关注作者
评论(0)