zhangguanzhang's Blog

zhangguanzhang's Blog

站在巨人的肩膀上

docker无法删除掉镜像的解决方法
碰到了docker rmi无法删除掉image的问题版本如下12[root@guanvps ~]# docker --versionDocker version 17.12.1-ce, build 7390fc6 问题如下,也没有任何容器在运行,重启发现依然无法删除掉12345678[root@guanvps ~]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEnginx latest ...
慎用docker的--rm选项!!!
Dockerfile里的VOLUME和docker run -v /path的时候挂载容器的挂载点效果是一致的会在宿主机/var/lib/docker/volumes目录生成随机目录发现--rm不单单是删除掉容器,还会删掉挂载点的数据 首先不使用--rm下看看效果1234567891011[root@guan_tx ]# docker run -tid --name busybox -v /guan busyboxbe59bd455fbde8a8d195220d96c6676ad8fa6f26e1ebac6533020c83dacbf907[root@guan_tx ]# docke...
docker容器访问宿主机
有时候使用docker容器的时候经常有需要访问宿主机ip的需求,虽然可以用宿主机网卡的ip访问,但是有时候有些人的宿主机ip是dhcp方式通用方法就是给宿主机加个不可达的回环地址,然后容器的host指向这个回环地址(容器host这步是可选的)(PS:1.1.1.1这个地址在2018/04初成为了公共DNS所以能ping通了,不过思路还是一样的)环境如下123456[root@guanvps ~]# cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) [root@guanvps ~]# uname -aLinux gua...
docker容器网络互联
官方文档说–link将来会被废弃,而且确实很鸡肋,有时候还要进去容器改东西。在 1-2 年前,Docker 所有容器都连接于默认的桥接网络上,也就是很多老文章鼓捣的 docker0 桥接网卡。因此实际上默认情况下所有容器都是可以互联的,没有隔离,当然这样安全性不好。而服务发现,是在这种环境下发展出来的,通过修改容器内的 /etc/hosts文件来完成的。凡是 --link 的主机的别名就会出现于 /etc/hosts 中,其地址由 Docker 引擎维护。因此容器间才可以通过别名互访。但是这种办法并不是好的解决方案,Docker 早在一年多以前就已经使用自定义网络了。在同一个网络中的容器...
bash自定义补全
总结下bash的补全 终端下按两次tab就是补全 补全常见的分为下面几种场景: 第一部分的命令补全 命令补全后补全路径到文件 变量补全 类似systemctl命令的选项补全 当然bash支持自定义补全,也就是让我们实现和systemctl命令那样补全 假设我们要systemctl disable --now firewalldsystemctl空格后按tab键会显示systemctl的第二个部分的所有支持的选项此时继续输入di按tab键会补全成systemctl disable,输入--now(相似的太多了,所以基本输入完)补全,当然最后的服务名此时补全不了,因为systemctl...
shell脚本的选项和参数处理
      在写shell脚本时经常会用到命令行选项、参数处理方式,如:1./test.sh -f 5 -rF --host-file=/etc/hosts 其中-f和-rF都是短选项,–host-file是长选项   短选项又分为可选参数和必选参数,不需要参数的短选项可以合着写   例如cat和tail的-n有默认值10在shell中,可以用以下三种方式来处理命令行参数,每种方式都有自己的应用场景 手工处理方式 getopts getopt 手工处理不说了,手工处...