Profiler
For å gjøre dette riktig, må du konfigurere beholderen din. Basekonfigurasjonen er allerede på systemet ditt hvis du har brukt en vanlig distribusjon. Du kan konfigurere dette videre med kommandoer, men de fleste bruker YAML-filer. Basen ser vanligvis ut som den nedenfor. Filen ligger i / etc / lxc / standard.konf.
lxc.nett.0.type = vethlxc.nett.0.lenke = lxcbr0
lxc.nett.0.flagg = opp
lxc.nett.0.hwaddr = 00: 16: 3e: xx: xx: xx
Hver container følger innstillingene i henhold til standardprofilen og filen som er nevnt ovenfor. Du kan skrive ut standardfilen i henhold til nedenfor. For mer konfigurasjon er det best å lage nye profiler. Hver profil vil inneholde noen konfigurasjonsdetaljer, i vårt tilfelle nettverk. Du kan endre hvilken som helst innstilling i beholderen din med en profil, og dette er enda mer fornuftig når du vil kjøre den både lokalt og på en plattform.
$ lxc-profil viser standardkonfigurasjon:beskrivelse: Standard LXD-profil
enheter:
eth0:
navn: eth0
nettverk: lxdbr0
type: nic
rot:
sti: /
basseng: ros
type: disk
navn: standard
brukt av:
- /1.0 / instanser / guiapps
- /1.0 / instanser / ff
Resultatet er en YAML-fil. Alle profilene dine vil være i samme format. Med LXC selv kan du opprette, fjerne og redigere profilen din. Du kan se i filen at standard bruker lxdbr0-nettverket og skriver nic. Opprett nå en ny profil ved å bruke følgende:
$ lxc-profil opprett nicnetRediger profilen før en container kjører:
$ lxc profil rediger nicnet
Du bruker YAML-format i filene som lager disse profilene. Merk at navnet “eth0” er det interne beholdernavnet. "Forelderen" er det du har på systemet ditt, og du sjekker det selv ved hjelp av:
$ ip aUtskriften vil variere avhengig av hva du har hatt før. Du bør også vite at du kan bygge broen fra utsiden av containeren med brctl-verktøyene.
Bruk den i beholderen din
Når du har opprettet en profil, vil du legge den til i containeren din. Dette gjøres med det samme settet med programmer 'lxc'. Forsikre deg først om at du har en container, i dette eksemplet heter containeren 'ff':
$ lxc-profil legg til ff nicnetEndringen trer i kraft når du starter nettverk på nytt i containeren. Det enkleste og sikreste er å alltid legge til profiler bare i stoppede containere.
Rute
En broforbindelse er en der containeren din mottar en MAC-adresse på samme Ethernet-grensesnitt som verten din. Dette er hva du gjorde tidligere i dette innlegget. Med noen få triks kan du la ruteren din tildele containeren en egen IP-adresse, og du kan angi denne i containeren din. Selv om du kan få problemer med å bruke Wi-Fi når du bruker macvlan. WPA / WPA2 godtar ikke de to adressene, så Wi-Fi-en din vil gå i stykker, ettersom verten din ikke vil bruke Wi-Fi-en.
Det tidligere eksemplet bruker brctl-verktøyene siden lxc har laget sine egne. Dette får en adresse fra verten, ikke ruteren. Du kan få adressen fra ruteren hvis du ønsker det. Igjen, bare hvis du bruker en kablet tilkobling eller et usikkert Wi-Fi.
Når du har sørget for at du har en nettverkstilkobling på verten din, kan du koble den til containeren din. Endre ordet foreldre og sett nictype til macvlan.
config:beskrivelse: Innstilling for nettverksgrensesnittet
enheter:
eth0:
navn: eth0
nictype: macvlan
foreldre: enp3s0
type: nic
navn: Rute
brukt av:
- /1.0 / instanser / guiapps
- /1.0 / instanser / ff
Du må sørge for at foreldreverdien samsvarer med konfigurasjonen din, så sørg for at du oppretter den dynamisk. Etter at dette er gjort, kan du starte containeren din og finne den i ruterenes liste over vertsdestinasjoner. Vel, de er grensesnitt, for å være tekniske om det.
Figur 1: Beholderen vises nå i ruteren din
Mobilprofiler
En interessant del av Linux-containerne er at du kan hente konfigurasjonene dine og dumpe dem i YAML-filer. For å opprette filene for dette, kjører du showalternativet i LXC, og deretter røres inn i en fil. Utgangen følger YAML-standarden, og du kan deretter bruke disse filene til å konfigurere dem andre steder.
$ lxc-profil viser Rute> Rute.ymlFor å bruke dette til en ny container, bruk de angitte verdiene. Vanligvis vil du sette en verdi om gangen, men du har allerede en fil for dette.
$ lxc profil opprett newroute $ lxc profil sett newroute bruker.Nettverk.config - < Route.ymlDu kan se at du må legge verdiene inn i brukernavnet til navneområdet.Nettverk.konfigurere '. Dette er viktig å vite når du vil legge til andre verdier som ikke er relatert til nettverk.
Konklusjon
Nettverk med containerne dine har mange alternativer, noe som kan være forvirrende, men med litt forskning og testing på egen hånd kan du få det til å fungere slik du vil. Det beste er at du kan prøve en ting om gangen ved hjelp av profiler. Du vil aldri skru opp den nåværende beholderen din, bare fjern den som ikke fungerte, og legg til den gamle. Denne teknikken fungerer for alt i en container.