首页>软件资讯>常见问题

常见问题

Docker常用命令组合与使用场景

发布时间:2025-04-25 17:41:17人气:40

  得不说日常开发,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和内存使用情况,优化资源分配。

        内存使用情况啊.png

  八、批量清理


  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代理商