![](https://img-blog.csdnimg.cn/20210822124248253.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Docker
文章平均质量分 55
分享在学习Docker的过程学习到的一些小知识
旺仔_牛奶
计算机领域渣渣一枚,立志成为云原生方向资深运维专家^_^,GitHub地址: https://github.com/jiayu997
展开
-
Docker&Pod信号处理机制与僵尸进程优化
但有些时候我们不得不启动多个进程,比如从传统部署迁移到 Kubernetes 的过渡期间,使用了富容器,即单个容器中需要启动多个业务进程,这时也只能通过 shell 启动,但无法使用上面的。如果我们父进程以bash/sh启动,能提供进程收割能力,防止容器出现僵尸进程,但是缺无法将终止信号传递给子进程,为此我们一般采用:dumb-init、tini作为父进程(提供进程接管能力、信号传递能力)简单而言,如果在容器中运行多个进程,PID1进程需要有能力接管“孤儿”进程并回收“僵尸”进程。:终止进程,杀死进程。原创 2023-08-15 09:57:26 · 656 阅读 · 1 评论 -
Docker Remote API配置与使用
本文中,我们将使用命令行工具cURL来处理url相关操作。cURL可以发送请求、获取以及发送数据、检索信息。“unix:///var/run/docker.sock”:unix socket,本地客户端将通过这个来连接 Docker Daemon。“tcp://0.0.0.0:2375”:tcp socket,表示允许任何远程客户端通过 2375 端口连接 Docker Daemon。原创 2023-04-18 09:00:00 · 1485 阅读 · 0 评论 -
Docker In Docker
也就是说,容器内实际并未运行 docker server,但是能够通过宿主机执行docker任务,从而实现轻量级 docker in docker。在docker容器内启动一个docker daemon,对外提供服务,每个运行中的容器,都是一个进程,这个进程都托管在docker daemon中,优点在于镜像和容器都在一个隔离的环境,保持宿主机的环境。否则,建议使用第一种方法。docker dind方式有所不同,所有的docker操作真正在容器内部进行,包括创建的容器、拉取的镜像都保留在容器内部。原创 2023-04-17 09:00:00 · 867 阅读 · 0 评论 -
K8S Docker数据目录迁移与扩容
K8S Docker数据目录迁移与扩容。原创 2022-10-15 22:19:44 · 921 阅读 · 0 评论 -
基于Consul实现Docker Vxlan网络浅析
基于虚拟网络设备抓包分析Docker vxlan网络流量转发原创 2022-06-18 21:51:42 · 363 阅读 · 0 评论 -
Docker Vxlan流量跨namespace与宿主机通信浅析
在Docker容器内,一般是通过veth-pair设备对实现了夸namespace流量传输,但是在Vxlan设备中,它如何实现从一个namespace封装数据包到宿主机的物理网卡呢?原创 2022-05-11 09:44:43 · 540 阅读 · 0 评论 -
Docker容器网卡eth0@ifx浅析
通常我们往往需要在Docker容器内部和宿主机之间进行网络调试,那么该如何确定容器内的网卡在宿主机端的位置呢?原创 2022-05-08 19:43:59 · 1658 阅读 · 0 评论 -
Dockerfile之gosu浅析
Docker容器中运行的进程,如果以root身份运行话会有安全隐患,该进程拥有容器内的全部权限,更可怕的是如果有数据卷映射到宿主机,那么通过该容器就能操作宿主机的文件夹了,一旦该容器的进程有漏洞被外部利用后果是很严重的,因此,容器内使用非root账号运行进程才是安全的方式,这也是我们在制作镜像时要注意的地方原创 2022-04-25 15:42:57 · 3358 阅读 · 0 评论 -
Docker iptables数据包过滤流向分析
Docker iptables数据包过滤流向分析iptables log# 事先关闭firewalld[root@boy ~]# cat log.sh #!/bin/bashfunction insert(){ ##### ebtables ebtables -t broute -I BROUTING --log --log-prefix 'ctc/ebtable/broute-BROUTING' --log-level debug ebtables -t nat -I PREROUTIN原创 2022-02-22 20:26:06 · 1052 阅读 · 0 评论 -
Docker ebtables数据包过滤流向分析
Docker ebtables数据包过滤流向分析整体数据包过滤流向ebtables log# 设置ebtables追踪,系统默认ebtables没有规则cat <<-EOF > ebtables.sh#!/bin/bashinsert() { ebtables -t broute -I BROUTING --log --log-prefix 'ctc/ebtable/broute-BROUTING' --log-level debug ebtables -t原创 2022-02-21 08:00:00 · 617 阅读 · 0 评论 -
iptables NAT PREROUTING包过滤分析
NAT PREROUTING测试参考链接:https://serverfault.com/questions/1065983/iptables-prerouting-not-in-effect?rq=1# 本机IP:192.168.0.10# 测试一: ping -i 0.01 192.168.0.10 #通过快速ping,然后查看iptables的packet 数量就知道经过哪些过滤了# 结果: raw表:PREROUTING OUTPUT均有数据包 mangle表:PREROUTIN原创 2022-02-18 08:00:00 · 1032 阅读 · 0 评论 -
Docker修改默认数据存放位置
Docker修改默认数据存放位置方法一# 查看Docker目前存储位置[root@docker ~]# docker info | grep -i dir Docker Root Dir: /var/lib/docker # 关闭Docker[root@docker ~]# systemctl stop dockerWarning: Stopping docker.service, but it can still be activated by: docker.socket# 迁移原创 2021-12-27 19:30:00 · 1941 阅读 · 0 评论 -
Docker部署Harbor-v2.4.1
HarborHarbor官网:https://goharbor.io/Harbor部署安装docker-ce&docker-compose[root@docker ~]# yum -y install docker-ce* docker-compose下载离线包Harbor三种安装方式在线安装:从Docker Hub下载Harbor相关镜像,因此安装软件包非常小离线安装:安装包包含部署的相关镜像,因此安装包比较大OVA安装程序:当用户具有vCenter环境时,使用此安原创 2021-12-22 17:38:52 · 1806 阅读 · 0 评论 -
docker&docker-compose离线部署脚本(支持arm64/x86_64)
docker离线部署链接:https://pan.baidu.com/s/1u9RdXq1TtYbky38CcIOKkQ提取码:6666docker-version: 19.03.14,支持x86_64和arm64,带docker-compose原创 2021-10-12 22:00:52 · 783 阅读 · 0 评论 -
host内macvlan分析
macvlan-bridge(单host)# 实验环境 centos7.9,内核(5.13.13,macvlan要对内核要求:3.9-3.19 和 4.0+),网卡需要开启混杂模式 eens33配置的子接口需要与ens33在同一网段子接口无法与父接口通信# 开启ens33混杂模式 ip link set dev ens33 promisc on# 创建二个macvlan子接口[root@docker ~]# ip link add link ens33 dev ens33.0 type原创 2021-08-29 21:38:10 · 224 阅读 · 0 评论 -
基于虚拟设备搭建Docker Container网络模式
基于虚拟设备搭建Docker Container网络模式Docker命令# 创建一个nginx[root@docker ~]# docker run -d -P --net=bridge --name nginx nginxb6119c06485a68c5c5a0a17e6d74072ff02569e2d850ed2e1144e89495f8ee4d# 由于mysql要与nginx进行关联,所以不能在物理主机上进行端口映射[root@docker ~]# docker run -d --ne原创 2021-08-28 16:20:24 · 222 阅读 · 0 评论 -
基于虚拟设备搭建Docker Bridge底层网络
基于虚拟设备分析Docker Bridge底层网络原理实验环境:Centos7.9,NAT网卡 192.168.0.10,网关192.168.0.2创建namespace和vethDocker 容器的网络如果设置为 bridge 模式,则那个容器就会拥有一个独立的网络命名空间(Network Namespace),一个新建的网络命名空间,其中只有一个为 DOWN 状态的 lo 网卡Docker 随后创建一对虚拟以太网卡(Virtual Ethernet),由于其是成对存在的,所以这种设备一般称为原创 2021-08-27 22:36:27 · 220 阅读 · 0 评论 -
veth-pair bridge分析
veth-pair-bridgebridge设备也是一种虚拟的网络设备,所以具有网络设备的特性,bridge设备是一种纯软件实现的虚拟交换机,所以和物理的交换机有着类似的功能(mac地址学习、stp、fdb等)bridge设备既可以配置ip地址也可以配置mac地址,可以实现交换机的二层转发bridge设备有多个端口,我们可以将tap设备、veth设备attach到bridge设备,我们可以想象成是交换机上的各种端口创建bridge设备 当我们创建br0设备时,它是一个独立的网络原创 2021-08-27 15:38:47 · 574 阅读 · 0 评论 -
全网最详细分析veth-pair数据包转发
veth-pair数据包转发实验环境# 操作系统:Debian11+----------------------------------------------------------------+| || +------------------------------------------------+ || |原创 2021-08-26 23:59:56 · 839 阅读 · 0 评论 -
veth-pair 在二个namespace之间通信
二个namespace之间的通信# 创建 namespace [root@boy ~]# ip netns add s1 [root@boy ~]# ip netns add s2# 创建一对veth-pair [root@boy ~]# ip link add veth0 type veth peer name veth1 # 将veth0和veth1加入s1,s2 [root@boy ~]# ip link set veth0 netns s1 [root@原创 2021-08-26 16:19:10 · 224 阅读 · 0 评论 -
ping localhost和本机IP区别
本机IP下列抓包均在lo口抓取的ping 本机IPping localhostping 127.0.0.1总结ping本机IP和127.0.0.1效果一样,该数据包均会被发送到lo口,受防火墙管控ping localhost在lo口没有抓取到数据包,但是实际通了,说明协议栈直接把数据包发给了socket了,并没有经过lo口,不受防火墙控制...原创 2021-08-23 22:30:03 · 2461 阅读 · 0 评论