Serverloser Asterisk mit Docker und AWS Fargate

Blog

Asterisk ist eine leistungsstarke Freebase-PBX, die VoIP und _Telefonie Lösungen , _auf die Bedürfnisse von Enterprise- und Stand-Alone-Ebenen zugeschnitten. Im folgenden Artikel würden wir die Erstellung eines hochskalierbaren Asterisk-Cloud-Servers durch die Fargate-Aufgabe demonstrieren, die minimale Wartung und Administration erfordern würde.



Voraussetzung

  1. Docker auf Ihrem persönlichen Computer installiert.
  2. Ein aktives AWS-Konto zum Bereitstellen von Images.
  3. Hinweis: Sie können entweder AWS EC2 oder Cloud9 IDE zum Einrichten von Docker verwenden

Asterisk auf Docker erstellen

1. Erstellen des Basisimages

Hülse

Node js Projektideen
#base image for container FROM debian:buster-slim

Wir haben ausgesucht Debian Buster Slim für das Basisbild wie oben gezeigt. Es wird empfohlen, den Container leicht zu halten und die kleinste Größe für das Basisbild zu verwenden. Sie können nach Belieben auch die Versionen Alpine, Jessie oder Stretch wählen.



2. Einrichten von Asterisk

Hülse

#base image for container $ docker build -t asterisk:latest Sending build context to Docker daemon 2.048kBStep 1/1 : FROM debian:buster-slim: Pulling from library/debian8ec398bc0356: Pull completeDigest: sha256:e4c1417236abc57971755ca2bfccd546cbca45b33daf66001a5addae4bf78517Status: Downloaded newer image for debian:buster-slim---> e1af56d072b8Successfully built e1af56d072b8Successfully tagged asterisk:latest

Verwenden Sie |_+_| um Asterisk auf dem Docker-Image einzurichten.



mail/aol/com

Hülse

docker build -t asterisk

Wie oben gezeigt, wird Asterisk mit der Bild-ID **e1af56d072b8 **mit der Bildgröße von . installiert 69,2 MB was im Vergleich zur Gesamt-ISO-Größe winzig ist .

3. Beschriften des Asterisk-Images

Hülse

$docker images REPOSITORY TAG IMAGE ID CREATED SIZE a8b00d3e8229 37 minutes ago 592MB asterisk latest e1af56d072b8 2 weeks ago 69.2MB debian buster-slim e1af56d072b8 2 weeks ago 69.2MB debian latest b5d2d9b1597b 2 weeks ago 114MB

Sobald die Beschriftung abgeschlossen ist, können Sie |_+_| . ausführen um eine schnelle Überprüfung des Docker-Images durchzuführen, wie unten gezeigt.

-> Operator c

Hülse

#base image for container FROM debian:buster-slim LABEL maintainer='Bora Ozkan '
4. Umgebungsvariablen einrichten

Hülse

docker inspect

Die Anweisung |_+_| setzt die Umgebungsvariable, die bei der Installation von Asterisk wichtig ist. Oben haben wir zwei Umgebungswerte erstellt; die erste ist die Definition der Version, die zweite ist für die Verwendung Standard-Codec .

Hülse

$docker inspect asterisk:latest [ { 'Id': 'sha256:d216cbd1c686b8afbcaab3406adf02a8ac481797510ea5a189ac1314ae654ead', 'RepoTags': [ 'asterisk:latest' ], 'RepoDigests': [], 'Parent': 'sha256:e1af56d072b8d93fce4b566f4bf76311108dbbbe952b12a85418bd32c2fcdda7', 'Comment': '', 'Created': '2020-01-14T09:06:47.708064046Z', 'Container': 'd552618057cb929857b2c9dbd1efa2f2be9d7e422c7ab85ff858fa2064398cb1', 'ContainerConfig': { 'Hostname': 'd552618057cb', 'Domainname': '', 'User': '', 'AttachStdin': false, 'AttachStdout': false, 'AttachStderr': false, 'Tty': false, 'OpenStdin': false, 'StdinOnce': false, 'Env': [ 'PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin' ], 'Cmd': [ '/bin/sh', '-c', '#(nop) ', 'LABEL maintainer=Bora OZKAN ' ], 'ArgsEscaped': true, 'Image': 'sha256:e1af56d072b8d93fce4b566f4bf76311108dbbbe952b12a85418bd32c2fcdda7', 'Volumes': null, 'WorkingDir': '', 'Entrypoint': null, 'OnBuild': null, 'Labels': { 'maintainer': 'Bora OZKAN ' } }, 'DockerVersion': '18.09.7', 'Author': '', 'Config': { 'Hostname': '', 'Domainname': '', 'User': '', 'AttachStdin': false, 'AttachStdout': false, 'AttachStderr': false, 'Tty': false, 'OpenStdin': false, 'StdinOnce': false, 'Env': [ 'PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin' ], 'Cmd': [ 'bash' ], 'ArgsEscaped': true, 'Image': 'sha256:e1af56d072b8d93fce4b566f4bf76311108dbbbe952b12a85418bd32c2fcdda7', 'Volumes': null, 'WorkingDir': '', 'Entrypoint': null, 'OnBuild': null, 'Labels': { 'maintainer': 'Bora OZKAN ' } }, 'Architecture': 'amd64', 'Os': 'linux', 'Size': 69208427, 'VirtualSize': 69208427, 'GraphDriver': { 'Data': { 'MergedDir': '/var/lib/docker/overlay2/495f15d329ebee16bec4985ea625d8d835be42adac19cf075a3b998535bbd58e/merged', 'UpperDir': '/var/lib/docker/overlay2/495f15d329ebee16bec4985ea625d8d835be42adac19cf075a3b998535bbd58e/diff', 'WorkDir': '/var/lib/docker/overlay2/495f15d329ebee16bec4985ea625d8d835be42adac19cf075a3b998535bbd58e/work' }, 'Name': 'overlay2' }, 'RootFS': { 'Type': 'layers', 'Layers': [ 'sha256:556c5fb0d91b726083a8ce42e2faaed99f11bc68d3f70e2c7bbce87e7e0b3e10' ] }, 'Metadata': { 'LastTagTime': '2020-01-14T09:06:47.718230311Z' } } ]

Die |_+_| -Anweisung kopiert Dateien in das Image-Verzeichnis, wie beim Erstellen des Images angegeben, während die |_+_| -Anweisung führt alle Befehle in einer neuen Ebene über dem aktuellen Bild aus und schreibt Ergebnisse fest.

Jetzt können wir unsere |_+_| . erstellen

c++ wenn sonst eine Zeile

#docker #aws #cloud native #fargate

dzone.com

Serverloser Asterisk mit Docker und AWS Fargate

Asterisk ist eine leistungsstarke Freebase-PBX, die VoIP- und Telefonie-Lösungen bereitstellt und die Anforderungen sowohl auf Enterprise- als auch auf Stand-Alone-Ebene erfüllt. Im folgenden Artikel würden wir die Erstellung eines hochskalierbaren Asterisk-Cloud-Servers durch die Fargate-Aufgabe demonstrieren, die minimale Wartung und Administration erfordern würde.