得不说日常开发,Docker已经成为程序员必备的工具了,比如本地调试需要安装一些中间件,Docker部署就是一件非常方便的事情,所以我们需要了解一些常用的Docker命令组合用来应对一些使用场景。
以下是Docker常用命令组合、示例及使用场景的整理,抛砖引玉!
一、容器生命周期管理
1、启动容器
dockerrun-d-p8080:80--namemy_nginxnginx:latest
参数说明:
`-d`后台运行|`-p主机端口:容器端口`端口映射|`--name`指定容器名称
比如本地开发环境快速启动一个Nginx服务器,将容器80端口映射到主机8080端口。
2、停止/删除容器
dockerstopmy_nginx&&dockerrmmy_nginx
场景:清理测试环境中的容器,释放资源。
二、镜像管理
1、构建镜像
#注意命令最后有一个点dockerbuild-tmy_app:v1-fDockerfile.prod.
参数说明:
`-t`标签|`-f`指定Dockerfile文件
场景:使用生产环境专用的`Dockerfile.prod`构建镜像。
具体Dockerfile编写可以参考:Dockerfile编写建议参考。
2、清理无用镜像
dockerimageprune-a--filter"until=24h"
参数说明:
`-a`删除所有未使用的镜像|`--filter`清理超过24小时的镜像
场景:定期清理开发环境中陈旧的镜像,节省磁盘空间。
三、数据持久化
1、挂载数据卷
dockerrun-v/host/data:/app/data-vapp_vol:/app/configmy_app
参数说明:
`-v主机路径:容器路径`挂载主机目录|`-v卷名:容器路径`使用命名卷
场景:持久化保存应用数据和配置文件,避免容器销毁后丢失。
四、网络配置
1、创建自定义网络(这个属实用得不多)
dockernetworkcreatemy_networkdockerrun--networkmy_network--nameapp1my_appdockerrun--networkmy_network--nameapp2my_app
实现容器间通过容器名称通信(如`app1`可直接访问`app2`)。
五、日志与调试
1、查看实时日志
bashdockerlogs-f--tail100my_container
参数说明:
`-f`持续输出|`--tail`显示最后N行
场景:实时监控生产环境容器的日志输出,排查问题。
2、进入容器调试
dockerexec-itmy_container/bin/bash
参数说明:
`-it`交互式终端`/bin/bash或者/bin/sh`
场景:进入容器内部检查文件、进程或执行临时命令。
6.多容器管理
1、使用DockerCompose
#bashdockercompose-fdocker-compose.prod.ymlup-ddockercomposedown-v
一键启动/关闭包含数据库、缓存和应用的完整服务栈,适合复杂项目。具体Docker-compose使用,我们后面介绍。
七、资源监控
1、查看容器资源占用
#bashdockerstats--format"table{{.Name}}\t{{.CPUPerc}}\t{{.MemUsage}}"
场景:监控生产环境容器的CPU和内存使用情况,优化资源分配。

八、批量清理
1、清理所有停止的容器和悬空镜像
#bashdockercontainerprune-f&&dockerimageprune-f
场景:自动化脚本中定期执行,保持服务器资源整洁。
附:命令速查表
查看运行中容器dockerps查看所有容器(含已停止)dockerps-a查看镜像列表dockerimages强制删除容器dockerrm-fmy_container拉取镜像(不指定版本默认拉取latest)dockerpullredis:alpine查看容器详细信息(如IP地址)dockerinspectmy_container复制文件到容器dockercplocal_file.txtmy_container:/path/
掌握这些组合可覆盖90%的日常Docker操作需求。
上一条:docker安装java常用相关技术
下一条:anaconda代理商