Cosa è IPC nel comando Docker Container con esempi di codice

Cosa è IPC nel comando Docker Container con esempi di codice
I contenitori Docker sono uno dei componenti essenziali della piattaforma Docker, utilizzati per sviluppare, consegnare e distribuire progetti e applicazioni incapsulando tutti i pacchetti e le librerie di progetto, nonché il codice sorgente. Questi contenitori lavorano su varie reti e scambiano i loro processi su reti particolari. Anche se questi contenitori condividono i loro processi tra diversi contenitori. A tale scopo, viene utilizzato il meccanismo IPC (comunicazione tra process).

Questo post descriverà:

  • Cosa è "IPC"Nel comando Docker Container?
  • Come usare "-IPC"Per condividere i processi di container sulla rete host?
  • Come usare "-IPC"Per condividere i processi di container tra vari contenitori?

Cos'è "IPC" nel comando Docker Container?

I meccanismi IPC di un sistema operativo consentono ai processi di comunicare tra loro. IPC nella piattaforma Docker consente l'interazione tra i processi di diversi contenitori. Più specificamente, il "-IPCL'opzione "è utilizzata in"Docker Run"Comando per implementare il meccanismo IPC (comunicazione inter-process).

Come utilizzare "-ipc" per condividere i processi di container sulla rete host?

Per utilizzare il "-IPC"Opzione per abilitare le interazioni di elaborazione per il contenitore Docker, seguire i seguenti passaggi.

Passaggio 1: crea Dockerfile

Innanzitutto, crea un file chiamato "Dockerfile"Senza alcuna estensione del file. Successivamente, copia le istruzioni sotto codifica nel file.

Qui, queste istruzioni contengono i seguenti dettagli:

  • "DA"L'istruzione definisce l'immagine di base.
  • "COPIA"Viene utilizzato per copiare il file di origine sul percorso del contenitore.
  • "PUNTO D'ENTRATA"Imposta le impostazioni predefinite o il punto di esecuzione per i contenitori:
Da nginx: ultimo
Copia indice.html/usr/share/nginx/html/indice.html
Entrypoint ["nginx", "-g", "daemon off;"]

Passaggio 2: genera un'immagine

Eseguire il "Build Docker"Comando per generare l'immagine Docker:

> Docker build -t html -img .

Nello snippet sopra, "-T"È un flag usato per taggare l'immagine o specificare il nome dell'immagine:

Passaggio 3: creare e avviare contenitore

Quindi, crea e avvia il contenitore sulla porta host locale 80. Questo contenitore condividerà i suoi processi con la macchina host:

> Docker run -it -p 8080 --ipc = host html -img

Qui:

  • "-Esso"L'opzione combina due diverse opzioni. IL "-io"Viene utilizzato per eseguire il contenitore in modo interattivo e il"-T"Viene utilizzato per allocare il terminale TTY-Pseudo al contenitore:
  • "-P"Assegna la porta host locale per il contenitore.
  • "-IPC"Viene utilizzato per implementare il meccanismo IPC sul contenitore. Ad esempio, abbiamo impostato il suo valore come "ospite", Il che significa che il contenitore condividerà i suoi processi con l'host:

Successivamente, vai a LocalHost nel tuo browser preferito per distribuire l'applicazione containerizzata:

Come utilizzare "-ipc" per condividere i processi di container tra vari contenitori?

È inoltre possibile utilizzare la tecnica IPC per condividere i processi di un contenitore con un altro contenitore. A tale scopo, segui i passaggi elencati.

Passaggio 1: creare il primo contenitore con IPC condivisibile

Per condividere i processi interni del contenitore con altri contenitori, è necessario impostare "-IPC"Valori come"condivisibile" nel "Docker Run"Comando, come mostrato di seguito:

> Docker run --name = html1 -it -p 80:80 --ipc = condivisibile html -img

Qui, "-nome"Viene utilizzato per specificare il nome del contenitore e"HTML-IMG"È un'immagine Docker utilizzata per costruire e accendere il contenitore:

Passaggio 2: ispezionare il contenitore

Per conferma se la modalità IPC del contenitore è impostata come "condivisibile"O no, ispezionare il contenitore usando il comando sotto:

> Docker Ispeziona HTML1

Come puoi vedere che il contenitore "IpcMode"È impostato come condivisibile, il che significa che questo contenitore può condividere i suoi processi interni con altri contenitori:

Passaggio 3: creare il secondo contenitore in grado di accedere al processo del primo contenitore

Per accedere ai processi interni di altri contenitori, creare un nuovo contenitore e impostare il "-IPC"Valore dell'opzione come"contenitore:". Il nome del contenitore da cui si desidera accedere ai processi nel secondo contenitore dovrebbe essere specificato qui:

> Docker run --name = html2 -it -p 80:80 --ipc = contenitore: html1 html -img

Passaggio 4: ispezionare il secondo contenitore

Ora, ispeziona il contenitore e verifica se il contenitore accede ai processi di altri contenitori o meno:

> Docker Ispeziona HTML2

Dall'output, puoi vedere che abbiamo accettato correttamente i processi del primo contenitore nel secondo contenitore:

Questo è tutto ciò che è IPC nel comando Docker Container e come usarlo.

Conclusione

IPC nella piattaforma Docker consente l'interazione tra i processi di diversi contenitori. Per utilizzare il meccanismo IPC nella piattaforma Docker, utilizzare il “-IPCOpzione "in"Docker Run"Comando. Questa opzione consentirà ai contenitori di condividere i loro processi tra altri contenitori e anche sull'host. Questo articolo ha dimostrato cosa è IPC nel comando Docker Container e come usarlo.