你还不知道的 5 个 Docker 命令
你刚刚开启 Docker 之旅,觉得自己已经掌握了一切?赶紧学习一些炫酷的新命令,让你的朋友和老板刮目相看吧!

1.docker system df
如果你和我一样,可能正在到处构建 Docker 容器,却从未真正考虑过所有东西的存储位置。想知道你的容器、镜像、卷和缓存构件需要多少存储空间吗?只需运行一下,你docker system df
就会惊讶地发现有多少磁盘空间仅仅用于 Docker 🤓
附言:占用太多空间?试试这个: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
最大使用 80% 的 CPU 资源,则需要计算 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 应用,不妨看看Sliplane!
鏂囩珷鏉ユ簮锛�https://dev.to/sliplane/5-docker-commands-you-dont-know-yet-2e78