千家信息网

Docker配置容器位置与小技巧总结

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,Docker使用小技巧1、清理全部停止的docker容器有时候我们会有很多已经停止的容器或者由于错误强制退出不能用的容器,那我们就需要删除了,但是我们一个一个的rm删除很麻烦,有多少容器就要rm多少次
千家信息网最后更新 2026年11月02日Docker配置容器位置与小技巧总结

Docker使用小技巧

1、清理全部停止的docker容器

有时候我们会有很多已经停止的容器或者由于错误强制退出不能用的容器,那我们就需要删除了,但是我们一个一个的rm删除很麻烦,有多少容器就要rm多少次,我们可以根据docker ps -qa 查出所有容器的id,一次性全部删除,不用担心会删除正在运行的容器,运行中的容器rm无法删除,这样我们就一次性把所有停止的容器删除了

# 只适用于Linux环境下docker rm $(docker ps -qa)

2、查看镜像中得环境变量

当我们制作好一个镜像或者获取到一个镜像之后如果我们想知道他的环境变量,我们首先想到的就是创建容器看看就知道了,其实不必,我们可以直接通过env查看

docker run nginx env

3、Windows上和Linux的区别

这两种环境的区别主要原因还是docker的支持问题,我们都知道docker最开始是在Linux上发行的,依赖于Linux内核,但是Windows上没有,那么我们现在是怎么用的呢,虚拟机,如果是win10以下版本基本上装的都是VirtualBox,win10的很多都会选择桌面版的,使用的Hyper-V ,也是虚拟机的一种。只有有了虚拟机之后docker才能在windows上使用,到这里我们应该知道两种不同之处了

在Linux上docker直接就在Linux系统上的,但是在windows上不同,windows系统上是虚拟机,虚拟机上才是docker

Linux系统 << docker容器

win系统 << 虚拟机 << docker容器

也就是这种原因,导致我们在使用的过程中有略微的不同,最常见的就是开端口的时候

Linux系统:docker容器端口直接映射到Linux系统

windows系统:docker容器端口映射到虚拟机,再由虚拟机映射到我们的windows

注: 把我们虚拟机中选择网络的时候选择网络地址转换(NAT),这样我们就不用考虑中间虚拟机到windows这层的端口映射问题了

4、挂载

在使用Docker的时候很多人都喜欢制作镜像,把应用直接打包到镜像中,直接启动镜像,一切OK,但是避免不了的是我们有时候会做一些细微的修改,特别是配置文件或者是一些项目中微小的修改,这种时候我们还是要重新做镜像吗?答案是不需要的,没有必要

​ 我们前端使用nginx镜像部署,但是发布之后发现有一点样式需要微调,那么我们是不是还需要重新制作一个镜像呢,这样我们会不会感觉很麻烦(至少我会感觉很麻烦),想想我们只需要把修改过的文件把容器中的文件覆盖就行了,怎么样才能直接把修改过的文件覆盖容器中的文件,两种办法:第一直接把文件cp到容器中,这个过程我们还是要操作容器,怎么才能不动容器呢?挂载 我们可以在启动容器的时候直接把会在后面修改的东西挂载到宿主机上,这样我们就不用动容器了,启动的时候使用-v参数挂载宿主机文件或目录到容器

docker run -d -p 80:80 -v /c/Users/SunArmy/Desktop/html:/usr/share/nginx/html nginx

我们随便写一个index.html里面写上welcome nginx

把这个文件覆盖/opt/docker/html/下的index.html

再访问

重启都不需要直接OK

为什么不选择直接cp到容器中

​ 有这样一种情况,如果你需要修改的是配置文件,这肯定是需要重启的,但是在修改的时候不小心把配置文件写错了,这个时候你的容器就起不来了,想要修改容器中的配置,那也做不到了(除非重新创建容器),换种做法,如果我们把配置文件挂载在外面当你启动不起来的时候你可以直接在宿主机上修改为正确配置重启启动即可,综上,挂载的方式比cp到容器中的方式方便且安全

1、jq工具

最后介绍一个操作json的工具,这个是在查看容器配置的时候用的,我们使用docker inspect ID查看容器配置,往往会过滤出来一些我们关注的信息,一般情况下我们会选择docker inspect --format= 或者使用grep

但是无论使用哪一种都没有我们最熟悉的操作json的方式来过滤用着爽

jq工具需要单独安装yum install jq

使用jq过滤docker inspect 获取地址

docker inspect ac |jq -r .[0].NetworkSettings.IPAddress

. 代表管道前面的输出,之后的[0]就是数组的第1个元素,后面的 . 就是类似于点出对象中的属性一样,跟我们平时使用json是一样的,jq还能方便的格式化查看json文件,对于在命令行下查看json文件简直是利器

2、修改Docker本地镜像和容器的存储位置

很多人都是只知道创建了容器,从来没有关注过创建的容器在哪?本地镜像在哪?

但是,当你不得不关注的时候往往就是你的docker镜像和容器把你的盘装满了

查看Docker镜像和容器存储的位置

docker info |greo Docker

默认位置就是:/var/lib/docker

修改存储位置的方法有两种:

一):通过建立软连接,把/var/lib/docker 移动到其他地方,建立到这里的软连接

# 停止docker service docker stop# 移动/var/lib/docker 到/usr/local/ mv /var/lib/docker /usr/local/# 建立软连接 ln -s /usr/local/docker /var/lib/docker# 启动Docker service docker start

这个时候我们已经修改了,但是查看位置的时候看到的位置还是/var/lib/docker

但是这是个链接,可以查看大小发现是空的,真实的存储位置已经成为了/usr/local/docker

# 查看/var/lib/docker目录大小 du -dh /var/lib/docker

二):修改配置文件

默认配置文件/etc/docker/daemon.json

如果没有的话就自己创建

{ "registry-mirrors": ["http://hub-mirror.c.163.com"], "graph":"/opt/docker"}

直接修改 graph 的值为你的位置然后重启,OK

启动

service docker stop

停止

service docker start

重启

service docker restart

再查看docker的存储位置,已经修改成功

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。

容器 文件 时候 镜像 配置 位置 就是 系统 存储 选择 是在 环境 端口 还是 不同 不用 宿主 工具 方式 麻烦 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 美国互联网保险保险科技 互联网通讯科技 互联网巨头反垄断金融科技 重庆互联网络科技 万易互联网科技有限公司 世界互联网领先科技成果 深圳齐家互联网科技 衡水科技产业互联网平台 互联网行业科技股 中科明德北京互联网科技 皮皮虾互联网科技有限公司 工业互联网科技成果转化 江苏互联网科技小贷 新氧科技和美国互联网有关系吗 广西科技产业互联网是什么 艺电能源互联网科技有限公司招聘 互联网金融运营模式中的金融科技 科技互联网专业工作会议发言稿 现代科技的标志之一的互联网 每日互联网科技新闻 南京欣网互联网络科技 西安纸贵互联网科技有限公司 远信互联网科技 搜狐科技互联网 互联网科技实习生岗位 深圳无忧互联网科技 上海同邻互联网科技有限公司规模 广州智享互联网科技 西安左小互联网科技有限公司 陕西彩京云互联网科技有限公司
0