邢平cn's blog

邢平cn-xingpingcn

马上订阅 邢平cn's blog RSS 更新: https://xingpingcn.top/atom.xml

docker学习笔记

2024年3月11日 23:59

这是一篇通过配置hysteria2学习docker-compose的笔记

前言

用官方的docker和配置3分钟就搭好了,但是想试试通过bridge和通过nginx反代来实现(最后没有实验),于是就开始了折腾,,,

docker的network模式

docker会隔离文件、网络、进程,而网络的隔离程度分为4种:

  • host 这个相当于和主机共用一个网络
  • none 容器不需要内部和外部网络
  • container 似乎是容器内的网络,和主机分离。
  • bridge 命令docker network create的默认模式,连接到该网络的容器可以互相连通,而且可以暴露端口给主机和主机通讯。客户端通过主机ip:port访问。

NOTE

docker默认创建除container的三个网络。可以通过docker network ls查看。

bash
1
2
3
4
5
6
root@:/bin/hy2# docker network ls
NETWORK ID NAME DRIVER SCOPE
c069db7ead85 bridge bridge local
cf668a8174a8 host host local
162c8b1b3229 nginx-proxy bridge local # `nginx-proxy`是我自己创建的。
4f9ce671d49a none null local

NOTE

值得注意的是,docker默认创建一个名为docker0的网口用于连接主机和容器。通过ip link查看
进入hy2容器执行ip link命令可以看到,hy2的网卡(eth0)是和主机上的veth6f76815虚拟网卡连接(240:241)

bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
root@445:/bin/hy2# ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
link/ether [隐私删除] brd ff:ff:ff:ff:ff:ff
altname enp0s3
altname ens3
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default
link/ether 02:42:4e:38:4d:51 brd ff:ff:ff:ff:ff:ff
12: br-162c8b1b3229: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default
link/ether 02:42:93:b0:6a:4a brd ff:ff:ff:ff:ff:ff
223: veth3452fbb@if222: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-162c8b1b3229 state UP mode DEFAULT group default
link/ether d2:85:53:63:a1:76...

剩余内容已隐藏

查看完整文章以阅读更多