Let me re-organised the question. I have used a similar docker-compose yaml file as below.
version: "3"
services:
app:
build: ./app
networks:
- frontend
networks:
frontend:
driver: bridge
ipam:
config:
- subnet: 172.38.3.0/24
A network interface eth0
will be created automatically inside the dock container APP. I can connect to the network of the host through eth0
.
Now I want to create other virtual network interfaces inside the docker container APP, such as veth1
, veth2
.
I want to let the packets through veth1
/veth2
can access the host network. Like the below,
ping -I veth1 host-network-ip
by the way, I have tried to define one more network in the yaml and attached to docker container APP. but unfortunately, the network interface name eth1
inside docker container could not be customized. I need to specify the network interface name.
Is it possible to let it work? if yes, can you please help to explain how to do? Thank you very much!
iptables
stuff inside the containers, so even if you add veth pairs, I'd doubt it would work well. Instead, consider using custom networks in your docker compose file. (You didn't describe your actual use case, see XY questions, but chances your original problem X can be solved through this are high).