Pereiti prie turinio

HTML5 Gateway Docker įdiegimas

Docker atvaizdo importavimas

Prieš kurdami HTML5 Gateway Docker konteinerį, turite importuoti Docker atvaizdą. Tam atidarykite apvalkalą, kuriame jums pasiekiamos Docker komandos ir failas cleanroom-html5-4.6.1-33-v2.tgz. Apvalkale paleiskite šią komandą, pakoreguodami kelią iki TGZ failo, jei jo nėra dabartiniame kataloge:

1
docker load --input cleanroom-html5-4.6.1-33-v2.tgz

Tada šia komanda patikrinkite, ar importavimas pavyko:

1
docker inspect --type=image cleanroom-html5:4.6.1-33-v2

Laukiama išvestis yra tokia. Jei taip nėra, importuoti nepavyko:

1
2
3
4
5
6
[
    {
        "Id": "sha256:16ae07f1604409f6b092a8a2944e69b3db458a04dbbab6ffc3f945c253c82cee",
        "RepoTags": [
            "cleanroom-html5:4.6.1-33-v2"
        ],
Visa išvestis
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
[
    {
        "Id": "sha256:16ae07f1604409f6b092a8a2944e69b3db458a04dbbab6ffc3f945c253c82cee",
        "RepoTags": [
            "cleanroom-html5:4.6.1-33-v2"
        ],
        "RepoDigests": [],
        "Parent": "",
        "Comment": "buildkit.dockerfile.v0",
        "Created": "2025-08-27T11:35:33.014244258+02:00",
        "DockerVersion": "",
        "Author": "",
        "Architecture": "amd64",
        "Os": "linux",
        "Size": 781097647,
        "GraphDriver": {
            "Data": {
                "LowerDir": "/var/lib/docker/overlay2/aa079416d669709486e3fd3dfefcff51acb3905ffcca7e6e428630d1a499e669/diff:/var/lib/docker/overlay2/da9f43ee88f5961a157af404be018fc7c3f5185a798b26911e38118d83830de7/diff:/var/lib/docker/overlay2/28efb3982392e95711e849cb90985fd534cd6273f4dec758463f98b41a432e93/diff:/var/lib/docker/overlay2/44a3abed0a932259b79c9e5e273749cc06bd8aca7d3adbfd1753a7b053dcae2f/diff:/var/lib/docker/overlay2/e3dfd4c7c4fe568ef731bd91314e69cc5c807ce717d5f4ea94f0d02cc11e70c5/diff:/var/lib/docker/overlay2/5acf2b56871d2537d95b9981c0498e16723a9eca20827f550366b48d8acf508f/diff:/var/lib/docker/overlay2/c732cd17c6501229b3a12c488d7f4c26f8634329211cac54ff1cf0d53055421f/diff:/var/lib/docker/overlay2/fd61cbda2a5e9a578c5a8eea67b63df3d31642588be3b6f2f7ebe6e10964f745/diff",
                "MergedDir": "/var/lib/docker/overlay2/b9c8170b6a9ed8e7c84a9ba208cd6e4b25e88d1dad42cd72b0e1178da62a46d4/merged",
                "UpperDir": "/var/lib/docker/overlay2/b9c8170b6a9ed8e7c84a9ba208cd6e4b25e88d1dad42cd72b0e1178da62a46d4/diff",
                "WorkDir": "/var/lib/docker/overlay2/b9c8170b6a9ed8e7c84a9ba208cd6e4b25e88d1dad42cd72b0e1178da62a46d4/work"
            },
            "Name": "overlay2"
        },
        "RootFS": {
            "Type": "layers",
            "Layers": [
                "sha256:4668f0f488e5ad4494fadff56ad585c514794b3a293e5e8d006410de9da08155",
                "sha256:782f6c5256575fbef0e518a1a1ce9188c457f1a0e9b88b733ed672f6e1be482d",
                "sha256:e09fd3e10e878ef6c812ccde0fa55b66cf4b9b593cf182c2760fec73649968c2",
                "sha256:e51c952c7bd89e0a3188c683d689eed81444d5513c14251f4b21cb9fd056d27d",
                "sha256:233ff67db52988898e3c1b4c2573b86c1c0c50d23f1f4b2365e3fc51abedbf9f",
                "sha256:f832eee42398852cab80a9a45138bf076d63ebbe153263fd8cf66857a0833d02",
                "sha256:f59f79d19c38ae4863b81774ad1d98030370c64e17013eb786da7b727bf2b41b",
                "sha256:0caeed550a29dbb274781e78bbe910fa5ccfdc90119cb4f9e3c815feff5a70b9",
                "sha256:21313651aa44ac0f5dd459a94be172b003b68f81b0db945c24a7ada5c21799e3"
            ]
        },
        "Metadata": {
            "LastTagTime": "0001-01-01T00:00:00Z"
        },
        "Config": {
            "Cmd": null,
            "Entrypoint": [
                "/entrypoint.sh"
            ],
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "DEBIAN_FRONTEND=noninteractive",
                "IMAGE_BUILD_DATE=20250827T112940",
                "IMAGE_BUILD_VERSION=4.6.1-33-v2",
                "IMAGE_IPDIPC=IPC-53702"
            ],
            "ExposedPorts": {
                "8080/tcp": {},
                "8090/tcp": {}
            },
            "Labels": {
                "maintainer": "contact@systancia.com",
                "org.label-schema.build-date": "20250827T112940",
                "org.label-schema.description": "Systancia Cleanroom Gateway",
                "org.label-schema.name": "Systancia Cleanroom 4.6.1-33-v2 HTML5 Server",
                "org.label-schema.url": "http://systancia.com/",
                "org.label-schema.vendor": "Systancia",
                "version": "4.6.1-33-v2"
            },
            "OnBuild": null,
            "User": "root",
            "Volumes": null,
            "WorkingDir": ""
        }
    }
]

Konteinerio konfigūracija

Aplinkos kintamieji

Kintamieji diegimui naudojant pairing

Pavadinimas Privaloma Numatytoji reikšmė Komentaras
ENV_MEDIATION TAIP Naudojamas jungiantis per pairing.
Nurodo DNS vardą arba IP adresą, skirtą prisijungti prie CyberElements Bastion platformos žiniatinklio sąsajos.
ENV_TOKEN TAIP Naudojama pairing ryšiui.
Nurodo pairing tokeną, naudotiną jungiantis prie Mediation Controller.
ENV_NO_CHECK_CERT NE false Naudojamas jungiantis per pairing.
Ar išjungti Mediation Controller žiniatinklio sertifikato tikrinimą; naudinga su CyberElements Bastion, kai jungiamasi per IP adresą arba kai žiniatinklio sertifikato nepripažįsta numatytosios viešosios sertifikavimo institucijos.
Priimamos reikšmės: true arba false.

Kintamieji rankiniam diegimui

Pavadinimas Privaloma Numatytoji reikšmė Komentaras
ENV_GW_CERT_NAME TAIP Naudojama ryšiui su rankine konfigūracija.
Sertifikato failo, skirto jungtis prie SSL Router, pavadinimas.
ENV_GW_CERT_PASSWORD TAIP Naudojama ryšiui su rankine konfigūracija.
Sertifikato failo, skirto jungtis prie SSL Router, slaptažodis.
ENV_SSL_ROUTER_IP TAIP Naudojamas jungiantis su rankine konfigūracija.
Komponento SSL Router, prie kurio jungsis HTML5 Gateway, IP adresas arba DNS vardas.
ENV_SSL_ROUTER_PORT NE 443 Naudojamas jungiantis su rankine konfigūracija.
Komponento SSL Router, prie kurio jungsis HTML5 Gateway, prievadas.

Įvairūs kintamieji

Pavadinimas Privaloma Numatytoji reikšmė Komentaras
ENV_DISABLE_RSYSLOG NE false Paslaugos rsyslog išjungimas.
Leistinos reikšmės: true arba false.

Tomai

Tomas Komentaras
/etc/ipdiva/ HTML5 Gateway konfigūracijos tomas.
Rekomenduojame jį prijungti prie įvardytojo tomo arba pagrindinio kompiuterio failų sistemos.
/opt/certificates/ Tomas, kuriame yra HTML5 Gateway sertifikatas (-ai), kai konfigūruojama be pairing.
/var/log/ Tomas, kuriame yra HTML5 Gateway žurnalai.

Prievadai

Prievadas Komentaras
8080 HTML5 paslaugos klausymo prievadas.

HTML5 Gateway Docker diegimas

Diegimas naudojant pairing

Būtinosios sąlygos

Prieš diegdami HTML5 Gateway Docker, turite gauti pairing tokeną.

Toliau aprašytam diegimui bus naudojami visi galimi tomai (išskyrus /opt/certificates/, kuris šiame kontekste nenaudingas) ir bus atverti visi prievadai.
Tomai bus prijungti prie pagrindinio kompiuterio failų sistemos vietoje HTML5_GATEWAY_REP. Šioje vietoje yra šie pakatalogiai:

  • config
  • log

Galite pritaikyti toliau pateiktų komandų kintamuosius:

Pasirinktinė reikšmė Kintamasis Komentaras
DOCKER_NAME Docker konteinerio pavadinimas.
HTML5_GATEWAY_REP Failų sistemos vieta, kurioje bus prijungti tomai.
ENV_MEDIATION_VALUE Aplinkos kintamojo ENV_MEDIATION reikšmė.
ENV_TOKEN_VALUE Aplinkos kintamojo ENV_TOKEN reikšmė.
ENV_NO_CHECK_CERT_VALUE Aplinkos kintamojo ENV_NO_CHECK_CERT reikšmė.

Sukurkite katalogų medį, reikalingą tomams prijungti failų sistemoje:

1
2
mkdir -p HTML5_GATEWAY_REP/config
mkdir HTML5_GATEWAY_REP/log
1
New-Item -ItemType Directory -Force -Path "HTML5_GATEWAY_REP\config", "HTML5_GATEWAY_REP\log"

Ir galiausiai paleiskite naują konteinerį:

1
2
3
4
5
6
7
8
docker run -d --restart unless-stopped --name "DOCKER_NAME" \
-e ENV_MEDIATION="ENV_MEDIATION_VALUE" \
-e ENV_TOKEN="ENV_TOKEN_VALUE" \
-e ENV_NO_CHECK_CERT="ENV_NO_CHECK_CERT_VALUE" \
-v "HTML5_GATEWAY_REP/config/:/etc/ipdiva/:rw" \
-v "HTML5_GATEWAY_REP/log/:/var/log/:rw" \
-p 8080:8080 \
cleanroom-html5:4.6.1-33-v2
1
2
3
4
5
6
7
8
docker run -d --restart unless-stopped --name "DOCKER_NAME" `
-e "ENV_MEDIATION=ENV_MEDIATION_VALUE" `
-e "ENV_TOKEN=ENV_TOKEN_VALUE" `
-e "ENV_NO_CHECK_CERT=ENV_NO_CHECK_CERT_VALUE" `
-v "HTML5_GATEWAY_REP\config:/etc/ipdiva/:rw" `
-v "HTML5_GATEWAY_REP\log:/var/log/:rw" `
-p 8080:8080 `
cleanroom-html5:4.6.1-33-v2

Konteinerio žurnalus galima peržiūrėti naudojant šią komandą:

1
docker logs -f DOCKER_NAME

Rankinis diegimas

Būtinosios sąlygos

Prieš diegdami HTML5 Gateway Docker, turite turėti HTML5 Gateway reikalingą sertifikatą.

Slaptažodžiai, matomi naudojant docker inspect

Konteinerio aplinkos kintamieji, įskaitant sertifikatų slaptažodžius, lieka perskaitomi kiekvienam, kam leidžiama vykdyti docker inspect Docker serveryje. Todėl pirmenybę reikėtų teikti diegimui su pairing, kuriam nereikia jokio sertifikato slaptažodžio.

Toliau aprašytas diegimas naudos visus galimus tomus ir atvers visus prievadus.
Tomai bus prijungti prie pagrindinio kompiuterio failų sistemos vietoje MANUAL_REP. Šioje vietoje yra šie pakatalogiai:

  • config
  • log
  • certificates

Galite pritaikyti toliau pateiktų komandų kintamuosius:

Pasirinktinė reikšmė Kintamasis Komentaras
MANUAL_NAME Docker konteinerio pavadinimas.
MANUAL_REP Failų sistemos vieta, kurioje prijungiami tomai.
ENV_GW_CERT_NAME_VALUE Aplinkos kintamojo ENV_GW_CERT_NAME reikšmė.
ENV_SSL_ROUTER_IP_VALUE Aplinkos kintamojo ENV_SSL_ROUTER_IP reikšmė.
ENV_SSL_ROUTER_PORT_VALUE Aplinkos kintamojo ENV_SSL_ROUTER_PORT reikšmė.

Sukurkite katalogų medį, reikalingą tomams prijungti failų sistemoje:

1
2
3
mkdir -p MANUAL_REP/config
mkdir MANUAL_REP/log
mkdir MANUAL_REP/certificates
1
New-Item -ItemType Directory -Force -Path "MANUAL_REP\config", "MANUAL_REP\log", "MANUAL_REP\certificates"

Tada HTML5 Gateway ir įrašymo paslaugos sertifikatus įdėkite į MANUAL_REP/certificates.

Kad sertifikatų slaptažodžiai nebūtų išsaugoti apvalkalo istorijoje, įveskite juos į dabartinio seanso aplinkos kintamuosius (įvestis nerodoma):

1
2
read -rsp "HTML5 Gateway certificate password: " ENV_GW_CERT_PASSWORD; echo
export ENV_GW_CERT_PASSWORD
1
$env:ENV_GW_CERT_PASSWORD = [Net.NetworkCredential]::new('', (Read-Host -AsSecureString "HTML5 Gateway certificate password")).Password

Galiausiai paleiskite naują konteinerį:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
docker run -d --restart unless-stopped --name "MANUAL_NAME" \
-e ENV_GW_CERT_NAME="ENV_GW_CERT_NAME_VALUE" \
-e ENV_GW_CERT_PASSWORD \
-e ENV_SSL_ROUTER_IP="ENV_SSL_ROUTER_IP_VALUE" \
-e ENV_SSL_ROUTER_PORT="ENV_SSL_ROUTER_PORT_VALUE" \
-v "MANUAL_REP/config/:/etc/ipdiva/:rw" \
-v "MANUAL_REP/log/:/var/log/:rw" \
-v "MANUAL_REP/certificates/:/opt/certificates/:ro" \
-p 8080:8080 \
cleanroom-html5:4.6.1-33-v2
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
docker run -d --restart unless-stopped --name "MANUAL_NAME" `
-e "ENV_GW_CERT_NAME=ENV_GW_CERT_NAME_VALUE" `
-e ENV_GW_CERT_PASSWORD `
-e "ENV_SSL_ROUTER_IP=ENV_SSL_ROUTER_IP_VALUE" `
-e "ENV_SSL_ROUTER_PORT=ENV_SSL_ROUTER_PORT_VALUE" `
-v "MANUAL_REP\config:/etc/ipdiva/:rw" `
-v "MANUAL_REP\log:/var/log/:rw" `
-v "MANUAL_REP\certificates:/opt/certificates/:ro" `
-p 8080:8080 `
cleanroom-html5:4.6.1-33-v2

Kai konteineris bus paleistas, pašalinkite šiuos kintamuosius iš seanso:

1
unset ENV_GW_CERT_PASSWORD
1
Remove-Item Env:ENV_GW_CERT_PASSWORD

Konteinerio žurnalus galima peržiūrėti naudojant šią komandą:

1
docker logs -f MANUAL_NAME

Mediation Controller konfigūravimas

Kad naujasis HTML5 Gateway Docker veiktų, dar reikia sukonfigūruoti Mediation Controller serverį per SSH arba konsolės prieigą su root leidimais.

Šis paskutinis parametras būtinas, kad Mediation Controller galėtų palaikyti ryšį su HTML5 paslauga.
Tačiau ši konfigūracija skiriasi priklausomai nuo HTML5 Gateway Docker vietos:

Bendroji schema yra tokia:

flowchart LR
    subgraph DMZ
        direction TB
        HTML5(HTML5 Gateway Docker)
        MED(Mediation Controller)
    end

    subgraph LAN
        GW(Edge Gateway)
    end


    MED -.-> |Ryšys su HTML5 paslauga ; TCP 8080| HTML5
    HTML5 --> |TLS Tunnel| MED
    MED ~~~ GW
    GW --> |TLS Tunnel| MED
    GW ~~~ MED

    linkStyle 0 stroke:#d22,color;
Hold "Ctrl" to enable pan & zoom

Šiuo atveju reikės pridėti toliau pateiktą informaciją į failą /etc/ipdiva/httpd/commonParameters.extra.conf arba jį sukurti.
Parametrus galima pritaikyti:

Pasirinktinė reikšmė Kintamasis Komentaras
HTML5_URL_DMZ URL, sukonfigūruotas deklaruojant HTML5 Gateway administravimo konsolėje.
HTML5_IP_DMZ Docker serverio, kuriame veikia HTML5 Gateway Docker, DNS vardas arba IP adresas.
HTML5_PORT_DMZ Prievadas, kurį Docker serveris publikuoja HTML5 Gateway Docker.
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
<Location /HTML5_URL_DMZ/>
    Order allow,deny
    Allow from all
    ProxyPass http://HTML5_IP_DMZ:HTML5_PORT_DMZ/systanciaHTML5-6.0/ flushpackets=on
    ProxyPassReverse http://HTML5_IP_DMZ:HTML5_PORT_DMZ
</Location>

<Location /HTML5_URL_DMZ/websocket-tunnel>
    Order allow,deny
    Allow from all
    ProxyPass ws://HTML5_IP_DMZ:HTML5_PORT_DMZ/systanciaHTML5-6.0/websocket-tunnel
    ProxyPassReverse ws://HTML5_IP_DMZ:HTML5_PORT_DMZ/systanciaHTML5-6.0/websocket-tunnel
</Location>

Bendroji schema yra tokia:

flowchart LR
    subgraph DMZ
        direction TB
        MED(Mediation Controller)
    end

    subgraph LAN
        HTML5(HTML5 Gateway Docker)
        GW(Edge Gateway)
    end


    MED -.- | Ryšys su HTML5 paslauga ; per TLS tunelį| GW -.-> |Ryšys su HTML5 paslauga ; TCP 8080| HTML5
    HTML5 --> |TLS Tunnel| MED
    GW --> |TLS Tunnel| MED

    linkStyle 0,1 stroke:#d22,color;
Hold "Ctrl" to enable pan & zoom

Šiuo atveju reikės pridėti toliau pateiktą informaciją į failą /etc/ipdiva/httpd/commonParameters.extra.conf arba jį sukurti.
Parametrus galima pritaikyti:

Pasirinktinė reikšmė Kintamasis Komentaras
HTML5_URL_LAN URL, sukonfigūruotas deklaruojant HTML5 Gateway administravimo konsolėje.
GW_NAME_LAN Edge Gateway, naudojamo prisijungti prie HTML5 paslaugos, pavadinimas. Vertikalios linijos simbolį eilutės pabaigoje būtina palikti.
ORGANIZATION_NAME_LAN Organizacijos, prie kurios jungiasi Edge Gateway, pavadinimas.
HTML5_IP_LAN Docker serverio, kuriame veikia HTML5 Gateway Docker, DNS vardas arba IP adresas.
HTML5_PORT_LAN Prievadas, kurį Docker serveris publikuoja HTML5 Gateway Docker.
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
<Location /HTML5_URL_LAN/>
    Order allow,deny
    Allow from all
    RequestHeader set X-Forwarded-Proto "https"
    RequestHeader set X-IPdiva-Gateway GW_NAME_LAN|
    RequestHeader set X-IPdiva-Orgname ORGANIZATION_NAME_LAN
    RequestHeader set X-IPdiva-Service HTML5_IP_LAN:HTML5_PORT_LAN

    ProxyPass http://127.0.0.1:9016/systanciaHTML5-6.0/ flushpackets=on
</Location>

<Location /HTML5_URL_LAN/websocket-tunnel>
    Order allow,deny
    Allow from all
    RequestHeader set X-Forwarded-Proto "https"
    RequestHeader set X-IPdiva-Gateway GW_NAME_LAN|
    RequestHeader set X-IPdiva-Orgname ORGANIZATION_NAME_LAN
    RequestHeader set X-IPdiva-Service HTML5_IP_LAN:HTML5_PORT_LAN

    ProxyPass ws://127.0.0.1:9016/systanciaHTML5-6.0/websocket-tunnel
</Location>

Patarimas

Šią konfigūraciją taip pat galima naudoti toliau nurodytu atveju, kai Docker Edge Gateway ir Docker HTML5 Gateway veikia tame pačiame Docker tinkle:

flowchart LR
    subgraph DMZ
        direction TB
        MED(Mediation Controller)
    end

    subgraph LAN
        subgraph docker[Docker Server]
            HTML5([HTML5 Gateway Docker])
            GW([Edge Gateway])
        end
    end


    MED -.- | Ryšys su HTML5 paslauga ; per TLS tunelį| GW -.-> |Ryšys su HTML5 paslauga ; TCP 8080 per Docker tinklą| HTML5
    HTML5 --> |TLS Tunnel| MED
    GW --> |TLS Tunnel| MED

    linkStyle 0,1 stroke:#d22,color;
Hold "Ctrl" to enable pan & zoom
Pavyzdys

Šiame pavyzdyje tame pačiame Docker serveryje įdiegsime Edge Gateway ir HTML5 Gateway.

Pavyzdyje naudojama infrastruktūra yra tokia:

  • Mediation Controller serveris
    • Žiniatinklio IP adresas: 10.0.10.10
    • Organizacijos pavadinimas: my-organization-name
    • Edge Gateway tokenas: YJ5N-JN05-N5LS-N26H-7JHA-HZ9R-BGJF-MAVH
    • HTML5 Gateway tokenas: ATCW-OMVR-0RY4-LW1M-D9G9-H5VF-WPX5-YCXF
    • URL, skirtas pasiekti HTML5 paslaugą: HTML5_DOCKER
  • Docker serveris
    • Docker tinklo pavadinimas: cyberelements-cleanroom-network
    • Edge Gateway
      • Pavadinimas: my-edge-gateway-docker
      • Šakninė vieta failų sistemoje: /opt/my-edge-gateway-docker
    • HTML5 Gateway
      • Pavadinimas: my-html5-gateway-docker
      • Šakninė vieta failų sistemoje: /opt/my-html5-gateway-docker

Pirmiausia Docker serveryje turite sukurti katalogų medį Docker tomams prijungti:

1
2
3
4
5
6
mkdir -p /opt/my-edge-gateway-docker/config
mkdir /opt/my-edge-gateway-docker/graphical_archives
mkdir /opt/my-edge-gateway-docker/ssh_archives
mkdir /opt/my-edge-gateway-docker/log
mkdir -p /opt/my-html5-gateway-docker/config
mkdir /opt/my-html5-gateway-docker/log

Tada sukurkite bridge tipo Docker tinklą, kad abu konteineriai galėtų palaikyti ryšį tarpusavyje:

1
docker network create -d bridge cyberelements-cleanroom-network

Tada paleiskite Edge Gateway konteinerį. Atkreipkite dėmesį, kad pavyzdyje ryšys užmezgamas per pairing, Mediation Controller pasiekiamas per jo IP adresą, o sertifikatas netikrinamas. Be to, pridedamas parametras --network, nurodantis, kad naudojamas anksčiau sukurtas Docker tinklas:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
docker run -d --restart unless-stopped --name "my-edge-gateway-docker" \
-e ENV_MEDIATION="10.0.10.10" \
-e ENV_TOKEN="YJ5N-JN05-N5LS-N26H-7JHA-HZ9R-BGJF-MAVH" \
-e ENV_NO_CHECK_CERT="true" \
-v "/opt/my-edge-gateway-docker/config/:/etc/ipdiva/:rw" \
-v "/opt/my-edge-gateway-docker/graphical_archives/:/var/lib/ipdiva/carerecord/archives/:rw" \
-v "/opt/my-edge-gateway-docker/ssh_archives/:/var/ipdiva/care/sshrecord/:rw" \
-v "/opt/my-edge-gateway-docker/log/:/var/log/:rw" \
-p 2222:2222 \
-p 3389:3389 \
-p 8443:8443 \
--network="cyberelements-cleanroom-network" \
cleanroom-gateway:4.6.1-33-v2

Tada paleiskite HTML5 Gateway konteinerį. Atkreipkite dėmesį, kad pavyzdyje ryšys užmezgamas per pairing, Mediation Controller pasiekiamas per jo IP adresą, o sertifikatas netikrinamas. Be to, pridedamas parametras --network, nurodantis, kad naudojamas anksčiau sukurtas Docker tinklas, o kadangi HTML5 paslauga bus pasiekiama per Docker tinklą, publikuoti prievado 8080 nebūtina:

1
2
3
4
5
6
7
8
docker run -d --restart unless-stopped --name "my-html5-gateway-docker" \
-e ENV_MEDIATION="10.0.10.10" \
-e ENV_TOKEN="ATCW-OMVR-0RY4-LW1M-D9G9-H5VF-WPX5-YCXF" \
-e ENV_NO_CHECK_CERT="true" \
-v "/opt/my-html5-gateway-docker/config/:/etc/ipdiva/:rw" \
-v "/opt/my-html5-gateway-docker/log/:/var/log/:rw" \
--network="cyberelements-cleanroom-network" \
cleanroom-html5:4.6.1-33-v2

Galiausiai reikia sukonfigūruoti Mediation Controller serverio (-ių) failą /etc/ipdiva/httpd/commonParameters.extra.conf. Reikia pridėti šį skyrių:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
<Location /HTML5_DOCKER/>
    Order allow,deny
    Allow from all
    RequestHeader set X-Forwarded-Proto "https"
    RequestHeader set X-IPdiva-Gateway my-edge-gateway-docker|
    RequestHeader set X-IPdiva-Orgname my-organization-name
    RequestHeader set X-IPdiva-Service my-html5-gateway-docker:8080

    ProxyPass http://127.0.0.1:9016/systanciaHTML5-6.0/ flushpackets=on
</Location>

<Location /HTML5_DOCKER/websocket-tunnel>
    Order allow,deny
    Allow from all
    RequestHeader set X-Forwarded-Proto "https"
    RequestHeader set X-IPdiva-Gateway my-edge-gateway-docker|
    RequestHeader set X-IPdiva-Orgname my-organization-name
    RequestHeader set X-IPdiva-Service my-html5-gateway-docker:8080

    ProxyPass ws://127.0.0.1:9016/systanciaHTML5-6.0/websocket-tunnel
</Location>

Prieš pritaikydami naujus parametrus, turite patikrinti, ar nauja konfigūracija nesukelia jokių blokuojančių Apache2 žiniatinklio serverio klaidų.
Norėdami tai padaryti, vykdykite šią komandą:

1
apache2ctl configtest

Jei grąžinama Syntax OK, pakeitimus galima pritaikyti toliau pateikta komanda. Priešingu atveju patikrinkite savo failo /etc/ipdiva/httpd/commonParameters.extra.conf konfigūraciją.

1
systemctl reload apache2