Docker-containerkoppelingen

Docker Container Links



Veel enkele applicaties gebruiken docker als een container. Veel mensen gebruiken het over de hele wereld en een van de redenen voor zijn populariteit is het gebruiksgemak. U hoeft geen kennis van software te hebben om docker te gebruiken en in te stellen en het voor experimenten te gaan gebruiken. Als de gebruiker echter complexere servers probeert, is het noodzakelijk om kennis te hebben van docker-netwerktechnieken. In het onderstaande artikel worden koppelingen naar docker-containers en de functies van het netwerk besproken.

Docker-containerkoppelingen

Het belangrijkste gebruik van Docker Link is om containers aan elkaar te koppelen. Voor versie 1.9 was dit de enige manier om de containers aan te sluiten. Docker-links blijven in de toekomst niet bestaan, en mensen vermijden dit meestal voor nieuwe ontwerpen. Als beginner moet je echter enig idee hebben van de koppeling als je te maken krijgt met een legacy-code.







Voorbeeld van Docker-link

In de volgende paragraaf zullen we twee containers maken die respectievelijk als Redis-server en Redis-client zouden werken. We voeren gegevens en informatie in op de Redis-server met behulp van de Redis-client. De volgende eerste opdracht zal een Redis-server starten die redis_server wordt genoemd.



$havenarbeider-NS --naamredis_server redis



$sudohavenarbeiderps





De volgende opdracht wordt gebruikt om de Redis-client te starten die redis_client wordt genoemd.

$sudohavenarbeider-het --rm --naamredis_client--koppelingredis_server: redisDB redisbash

De optie 'link' wordt hier gebruikt om de redis_server te koppelen terwijl de informatie aan redisDB wordt gegeven. Nadat u een opdracht hebt getypt, wordt een opdrachtprompt voor u geopend, zoals het volgende:



wortel@e2364251d31d:/gegevens#

De volgende opdrachten die u invoert, worden gebruikt om de ping te installeren.

$apt-get update

$apt-get upgrade

$apt-get installiputils-ping

U krijgt een antwoord nadat u de opdracht hebt ingevoerd en de Redis-server hebt gepingd.

$pingredisDB

Nu zouden we de opdracht toevoegen om verbinding te maken met de Redis-server.

$sudohavenarbeideruitvoerend -hetredis_clientNS

$ redis-cli –h redisDB
redisDB:6379>

Dit nieuwe commando DB:6379 betekent dat we verbonden zijn met de Redis-server. Nu kunt u informatie toevoegen aan de server. Een voorbeeld wordt hieronder gegeven.

$ redisDB:6379>setboek'De blije Prins'
$ redisDB:6379>setauteur'Mark Twain'
$ redisDB:6379>boek halen
$ redisDB:6379>krijg auteur

Docker-netwerken

De docker installeerde de netwerkfunctie in versie 1.9. De nieuwe versie maakt automatisch drie netwerken aan nadat we de volgende opdracht hebben ingevoerd.

$sudodocker-netwerkls

Geen, Bridge en host zijn de netwerken die in dit hele proces ontstaan. Laat ze hieronder bespreken:

Brug: het brugnetwerk vertegenwoordigt Docker0. Docker0 is een virtuele Ethernet-brug wiens taak het is om pakketten door te sturen naar andere netwerkinterfaces die eraan zijn gekoppeld. Daarnaast kan de opdrachtgever zelf ontworpen bruggen bouwen.

Gastheer: De hoofdtaak van het hostnetwerk is het toevoegen van containers aan de hostnetwerkstack. Zodra u een hostnetwerk hebt gedefinieerd, is de scheiding en het verschil tussen host en container verdwenen.

Opmerking: De hoofdtaak van het geen-netwerk is het uitschakelen van netwerken. Sommige apps werken zonder netwerken en hebben om welke reden dan ook geen netwerk nodig.

Netwerkvoorbeeld op basis van door de gebruiker gedefinieerd bridge-netwerk

Deze sectie helpt bij het testen van Docker met behulp van de Redis-server. Ten eerste zullen we een netwerk maken met de naam intern netwerk met de opdracht.

$sudodocker-netwerk maken-NSintern_netwerk overbruggen

Na uw onderzoek in het netwerk, configureert u dat er een subnet en een gateway zijn gemaakt.

$sudodocker-netwerk inspecteer internal_network
[
{
'Naam':'intern netwerk',
'ID kaart':'9bc2213d3a39d46765fe50ef8e9b7819df8e7124b0a46552447cbda84e31b049',
'Gemaakt':'2017-11-02T08:01:05.119528611Z',
'Domein':'lokaal',
'Bestuurder':'brug',
'Inschakelen IPv6':vals,
'IPAM':{
'Bestuurder':'standaard',
'Opties':{},
'Config':[
{
'Subnet':'172.18.0.0/16',
'Poort':'172.18.0.1'
}
]
},
'Intern':vals,
'Bevestigbaar':vals,
'Binnenkomen':vals,
'ConfigVan':{
'Netwerk':''
},
'Alleen configuratie':vals,
'Containers':{},
'Opties':{},
'Etiketten':{}
}
]

U kunt ook het bridge-netwerk weergeven dat eerder is gemaakt.

$sudodocker-netwerkls

Nu zullen we de opdracht uitvoeren om de interne netwerkbrug aan de redis_server te koppelen.

$sudohavenarbeider-NS --netwerk=intern_netwerk--naam= redis_server redis

En voeg nu de client toe:

$sudohavenarbeider-NS --netwerk=intern_netwerk--naam= redis_client redisbash

Nadat je het interne netwerk hebt onderzocht, zou je je realiseren dat de twee containers zijn opgenomen in het netwerk van de brug.

$sudodocker-netwerk inspecteer internal_network


Nu, afkomstig van uw redis_client, zou u de redis_server-advertentie later kunnen pingen om daarmee verbinding te maken.

$pingredis_server

Conclusie:

In dit artikel heb ik u laten zien hoe u docker-containerkoppelingen kunt configureren en ermee kunt werken. Docker is een zeer gebruiksvriendelijke containertechnologie die wordt gebruikt voor enkele toepassingen. Veel mensen gebruiken het over de hele wereld en een van de redenen voor zijn populariteit is het gebruiksgemak.