Instantly share code, notes, and snippets.

Embed
What would you like to do?
Docker Compose File for MacVLAN Network Driver ( Single Node)
version: '3.3'
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
networks:
- myvlan
environment:
MYSQL_ROOT_PASSWORD: wordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "8000:80"
restart: always
networks:
- myvlan
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_PASSWORD: wordpress
volumes:
db_data:
networks:
private:
myvlan:
driver: macvlan
driver_opts:
parent: ens160.30
ipam:
config:
- subnet: 100.98.26.0/24
@mortensassi

This comment has been minimized.

Show comment
Hide comment
@mortensassi

mortensassi Jan 22, 2018

I get this error -o parent interface does was not found on the host ens160

mortensassi commented Jan 22, 2018

I get this error -o parent interface does was not found on the host ens160

@eugenepark1

This comment has been minimized.

Show comment
Hide comment
@eugenepark1

eugenepark1 Apr 9, 2018

what is parent: ens160.30 under driver_opts referencing? that's the docker host's NIC to VLAN?

eugenepark1 commented Apr 9, 2018

what is parent: ens160.30 under driver_opts referencing? that's the docker host's NIC to VLAN?

@PhilipSchmid

This comment has been minimized.

Show comment
Hide comment
@PhilipSchmid

PhilipSchmid May 3, 2018

@moesphemie: Ensure there is a network interface called ens160 on your Docker host.

@eugenepark1: I guess this is the host's sub interface which is also in 100.98.26.0/24 and also tend to be using VLAN 30. VLAN 30 is not a must, its more a best practice that you name sub interfaces according to it's assigned VLAN.

Regards,
Philip

PhilipSchmid commented May 3, 2018

@moesphemie: Ensure there is a network interface called ens160 on your Docker host.

@eugenepark1: I guess this is the host's sub interface which is also in 100.98.26.0/24 and also tend to be using VLAN 30. VLAN 30 is not a must, its more a best practice that you name sub interfaces according to it's assigned VLAN.

Regards,
Philip

@kcallis

This comment has been minimized.

Show comment
Hide comment
@kcallis

kcallis Aug 3, 2018

I am pulling my hair on the same issue (kind of). When ever I start docker compose, the message I get is:

ERROR: The Compose file '/root/docker/docker-compose-macvlan.yml' is invalid because:
services.qbittorrent.networks.macvlan20 contains unsupported option: 'driver'

I am using 3.6, and I am using the same syntax as the OP. And yes, I am using the correct interface:

qbittorrent:
image: "linuxserver/qbittorrent"
hostname: qbittorrent
container_name: "qbittorrent"
volumes:
- ${USERDIR}/docker/qbittorrent:/config
- ${USERDIR}/Downloads/completed:/downloads
- ${USERDIR}/docker/shared:/shared
networks:
private:
macvlan20:
driver: macvlan
driver_opts:
parent: enp0s25.20
ipam:
config:
- subnet: 192.168.20.0/24
ports:
- "50000:50000"
- "60201:60201"
- "60201:60201/udp"
restart: always
environment:
- PUID=${PUID}
- PGID=${PGID}
- TZ=${TZ}
- UMASK_SET=002
- WEBUI_PORT=50000

Any pointers would be greatly appreciated!

kcallis commented Aug 3, 2018

I am pulling my hair on the same issue (kind of). When ever I start docker compose, the message I get is:

ERROR: The Compose file '/root/docker/docker-compose-macvlan.yml' is invalid because:
services.qbittorrent.networks.macvlan20 contains unsupported option: 'driver'

I am using 3.6, and I am using the same syntax as the OP. And yes, I am using the correct interface:

qbittorrent:
image: "linuxserver/qbittorrent"
hostname: qbittorrent
container_name: "qbittorrent"
volumes:
- ${USERDIR}/docker/qbittorrent:/config
- ${USERDIR}/Downloads/completed:/downloads
- ${USERDIR}/docker/shared:/shared
networks:
private:
macvlan20:
driver: macvlan
driver_opts:
parent: enp0s25.20
ipam:
config:
- subnet: 192.168.20.0/24
ports:
- "50000:50000"
- "60201:60201"
- "60201:60201/udp"
restart: always
environment:
- PUID=${PUID}
- PGID=${PGID}
- TZ=${TZ}
- UMASK_SET=002
- WEBUI_PORT=50000

Any pointers would be greatly appreciated!

@antoineco

This comment has been minimized.

Show comment
Hide comment
@antoineco

antoineco Aug 22, 2018

@kcallis notice the very first line in the compose file, the version matters.

antoineco commented Aug 22, 2018

@kcallis notice the very first line in the compose file, the version matters.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment