Docker常用命令大全:容器与镜像管理的完整指南

关注公众号:小武码码码​

作为一名开发者和全栈工程师,我在日常工作中经常使用Docker来管理应用程序的开发、测试和部署。在这篇博客中,我将与大家分享我总结的Docker常用命令,并按照镜像管理、容器管理、网络管理、数据管理和系统管理等类别进行梳理。这些命令涵盖了Docker使用的方方面面,无论你是初学者还是有经验的用户,相信都能从中获益。

1. 镜像管理

镜像是Docker的核心概念之一,它包含了应用程序运行所需的所有依赖和配置。以下是一些常用的镜像管理命令:

1.1 拉取镜像

docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签]

示例:从Docker Hub拉取最新版本的Nginx镜像

docker pull nginx:latest

1.2 查看镜像列表

docker images [选项] [仓库名]

示例:列出所有本地镜像

docker images

1.3 删除镜像

docker rmi [选项] <镜像1> [<镜像2> ...]

示例:删除指定的本地镜像

docker rmi nginx:latest

1.4 构建镜像

docker build [选项] <上下文路径/URL/->

示例:使用当前目录下的Dockerfile构建镜像,并标记为myapp:v1

docker build -t myapp:v1 .

1.5 推送镜像

docker push [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签]

示例:将myapp:v1镜像推送到Docker Hub

docker push myusername/myapp:v1

2. 容器管理

容器是镜像的运行实例,代表了一个独立的应用程序环境。以下是常用的容器管理命令:

2.1 创建并运行容器

docker run [选项] 镜像 [命令] [ARG...]

示例:基于Nginx镜像创建一个容器,并映射端口80

docker run -p 80:80 nginx

2.2 查看容器列表

docker ps [选项]

示例:列出所有正在运行的容器

docker ps

2.3 停止容器

docker stop [选项] <容器1> [<容器2> ...]

示例:停止指定的容器

docker stop mycontainer

2.4 启动容器

docker start [选项] <容器1> [<容器2> ...]

示例:启动已停止的容器

docker start mycontainer

2.5 删除容器

docker rm [选项] <容器1> [<容器2> ...]

示例:删除指定的容器

docker rm mycontainer

2.6 进入容器

docker exec [选项] <容器> <命令> [ARG...]

示例:进入正在运行的容器,并启动一个Bash shell

docker exec -it mycontainer bash

3. 网络管理

Docker提供了强大的网络管理功能,可以方便地连接和配置容器网络。以下是常用的网络管理命令:

3.1 创建网络

docker network create [选项] <网络名>

示例:创建一个名为mynetwork的桥接网络

docker network create mynetwork

3.2 查看网络列表

docker network ls [选项]

示例:列出所有网络

docker network ls

3.3 连接容器到网络

docker network connect [选项] <网络> <容器>

示例:将mycontainer连接到mynetwork网络

docker network connect mynetwork mycontainer

3.4 断开容器与网络的连接

docker network disconnect [选项] <网络> <容器>

示例:将mycontainer从mynetwork网络断开连接

docker network disconnect mynetwork mycontainer

3.5 删除网络

docker network rm [选项] <网络1> [<网络2> ...]

示例:删除mynetwork网络

docker network rm mynetwork

4. 数据管理

Docker提供了数据卷(Volume)和绑定挂载(Bind Mount)两种主要的数据管理方式,以实现数据持久化和共享。以下是常用的数据管理命令:

4.1 创建数据卷

docker volume create [选项] <卷名>

示例:创建一个名为mydata的数据卷

docker volume create mydata

4.2 查看数据卷列表

docker volume ls [选项]

示例:列出所有数据卷

docker volume ls

4.3 查看数据卷详情

docker volume inspect [选项] <卷名> [<卷名> ...]

示例:查看mydata数据卷的详细信息

docker volume inspect mydata

4.4 删除数据卷

docker volume rm [选项] <卷名1> [<卷名2> ...]

示例:删除mydata数据卷

docker volume rm mydata

4.5 绑定挂载
在使用docker run或docker create命令时,可以通过-v或--mount选项指定宿主机目录与容器目录的映射关系,实现数据的绑定挂载。
示例:将宿主机的/opt/data目录挂载到容器的/data目录

docker run -v /opt/data:/data myapp

5. 系统管理

除了镜像、容器、网络和数据管理外,Docker还提供了一些系统级别的管理命令,帮助我们了解Docker系统的状态和资源使用情况。

5.1 查看Docker系统信息

docker info [选项]

示例:查看Docker系统的详细信息

docker info

5.2 查看Docker资源使用情况

docker stats [选项] [<容器1> <容器2> ...]

示例:实时查看所有容器的资源使用情况

docker stats

5.3 查看Docker日志

docker logs [选项] <容器>

示例:查看mycontainer容器的日志,并持续输出

docker logs -f mycontainer

5.4 更新Docker配置

docker config [选项]

示例:查看Docker的配置信息

docker config inspect

5.5 Docker系统清理

docker system prune [选项]

示例:清理所有停止的容器、无用的数据卷和网络,以及悬空镜像

docker system prune -a

以上就是我总结的Docker常用命令,按照镜像管理、容器管理、网络管理、数据管理和系统管理等类别进行了梳理。这些命令覆盖了Docker使用的方方面面,掌握这些命令可以大大提高我们使用Docker的效率和能力。

在实际使用中,我还有一些心得和建议:

  1. 合理利用镜像标签,如为不同版本的镜像打上不同的标签,方便管理和部署。

  2. 使用Dockerfile来构建自己的镜像,保证镜像的可重复性和一致性。

  3. 为容器指定合适的资源限制,如内存和CPU限制,避免单个容器占用过多资源影响其他容器。

  4. 合理设计容器网络,如为不同的应用创建不同的网络,实现网络隔离和安全。

  5. 使用数据卷或绑定挂载来持久化容器数据,保证数据的安全性和可恢复性。

  6. 定期清理无用的容器、镜像和数据卷,释放Docker宿主机的磁盘空间。

  7. 使用Docker Compose来管理多容器应用,简化应用的部署和管理。

  8. 持续学习Docker的新特性和最佳实践,跟进社区的发展步伐。

总之,Docker是一个非常强大和灵活的容器化平台,掌握这些常用命令和使用技巧,可以让我们更高效、更可靠地管理应用程序的开发、测试和部署。希望这篇博客能为大家提供一个全面的Docker命令参考,并在实际使用中给大家带来帮助。如果有任何问题或建议,欢迎随时与我交流。

Happy Dockerizing!

 

  • 24
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值