Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
160 changes: 160 additions & 0 deletions 71_macvlan/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,160 @@
# README

Demonstrate configuring macvlan for a docker container.

networks:

IPAM is IP address management

https://docs.docker.com/engine/reference/commandline/network_create/

https://runnable.com/docker/docker-compose-networking





vxlan - Overlay network

link up multiple docker daemons



https://blog.revolve.team/2017/04/25/deep-dive-into-docker-overlay-networks-part-1/



MacVLAN

Allows you to have unique mac addresses on network

https://docs.docker.com/network/network-tutorial-macvlan/



ip route

then look at the default ip address



docker network create -d macvlan --subnet=192.168.1.0/24 --gateway=192.168.1.254 -o parent=wlx1cbfcec13467 my-macvlan-net



docker run --rm -dit --network my-macvlan-net --name my-macvlan-alpine alpine:latest ash



docker exec my-macvlan-alpine ip addr show eth0




docker exec my-macvlan-alpine ip route



docker container stop my-macvlan-alpine


docker network rm my-macvlan-net



https://stackoverflow.com/questions/54540781/docker-network-create-error-numerical-result-out-of-range

Network has to be less than 15 characters

docker network create -d macvlan --subnet=192.168.1.0/24 --gateway=192.168.1.254 -o parent=wlx1cbfcec13467.10 my-macvlan-trunked-net





docker network create -d macvlan --subnet=192.168.1.0/24 --gateway=192.168.1.254 -o parent=wlp3s0.10 my-macvlan-trunked-net



docker run --rm -dit --network my-macvlan-trunked-net --name my-macvlan-alpine alpine:latest ash



docker exec my-macvlan-alpine ip addr show




docker exec my-macvlan-alpine ip route



docker container stop my-macvlan-alpine


docker network rm my-macvlan-net











tutorial - use macvlan to host pihole?macvlan

https://jfoo.xyz/docker-containers-on-your-vlan/



compose file

https://brandonrozek.com/blog/dockermacvlan/





https://gdevillele.github.io/engine/userguide/networking/get-started-macvlan/







IPVLan

https://docs.docker.com/network/ipvlan/





https://www.reddit.com/r/docker/comments/amle59/docker_macvlan_setup_ubuntu_no_ip_address_on/?utm_source=share&utm_medium=ios_app&utm_name=iossmf





https://github.com/Shopify/docker/blob/master/experimental/vlan-networks.md





Explanation of different network stuff on linux

https://developers.redhat.com/blog/2018/10/22/introduction-to-linux-interfaces-for-virtual-networking



ip link


## Resources

https://brandonrozek.com/blog/dockermacvlan/
32 changes: 32 additions & 0 deletions 71_macvlan/docker-compose.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
services:
nginx:
image: nginx:1.21.6
container_name: nginx
hostname: nginx
# Randomized MAC address
mac_address: 4E:64:A4:60:8D:0E
#environment:
# PUID: 1000
# PGID: 1000
#volumes:
# - /etc/nginx:/config/nginx
restart: always
ports:
- 80/tcp
# - 443/udp
networks:
macvlan_network:
# Static IP for host network
ipv4_address: 192.168.1.10
# Allow access to nginx container in default docker network
default:

networks:
macvlan_network:
driver: macvlan
driver_opts:
# Obtain device name by looking at `ip addr`
parent: wlp3s0
ipam:
config:
- subnet: 192.168.1.0/24