# Not able to install temporal on qa machines using docker compose?

**URL:** <https://community.temporal.io/t/not-able-to-install-temporal-on-qa-machines-using-docker-compose/7174>\
**Category:** Community Support\
**Tags:** java-sdk, mysql, web-ui\
**Created:** [February 6, 2023, 3:31pm UTC](https://community.temporal.io/t/not-able-to-install-temporal-on-qa-machines-using-docker-compose/7174 "2023-02-06T15:31:54Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![aditi\_ritam](https://sea2.discourse-cdn.com/flex016/user_avatar/community.temporal.io/aditi_ritam/32/940_2.png) [@aditi\_ritam](https://community.temporal.io/u/aditi_ritam)\
**Post date:** [February 6, 2023, 3:31pm UTC](https://community.temporal.io/t/not-able-to-install-temporal-on-qa-machines-using-docker-compose/7174/1 "2023-02-06T15:31:54Z")

</div>

OperationalError: 14 UNAVAILABLE: DNS resolution failed  
temporal-web | at Object.exports.createStatusError (/usr/app/node\_modules/grpc/src/common.js:91:15)  
temporal-web | at Object.onReceiveStatus (/usr/app/node\_modules/grpc/src/client\_interceptors.js:1209:28)  
temporal-web | at InterceptingListener.\_callNext (/usr/app/node\_modules/grpc/src/client\_interceptors.js:568:42)  
temporal-web | at InterceptingListener.onReceiveStatus (/usr/app/node\_modules/grpc/src/client\_interceptors.js:618:8)  
temporal-web | at callback (/usr/app/node\_modules/grpc/src/client\_interceptors.js:847:24) {  
temporal-web | cause: Error: 14 UNAVAILABLE: DNS resolution failed  
temporal-web | at Object.exports.createStatusError (/usr/app/node\_modules/grpc/src/common.js:91:15)  
temporal-web | at Object.onReceiveStatus (/usr/app/node\_modules/grpc/src/client\_interceptors.js:1209:28)  
temporal-web | at InterceptingListener.\_callNext (/usr/app/node\_modules/grpc/src/client\_interceptors.js:568:42)  
temporal-web | at InterceptingListener.onReceiveStatus (/usr/app/node\_modules/grpc/src/client\_interceptors.js:618:8)  
temporal-web | at callback (/usr/app/node\_modules/grpc/src/client\_interceptors.js:847:24) {  
temporal-web | code: 14,  
temporal-web | metadata: Metadata { \_internal\_repr: {}, flags: 0 },  
temporal-web | details: ‘DNS resolution failed’  
temporal-web | },  
temporal-web | isOperational: true,  
temporal-web | code: 14,  
temporal-web | metadata: Metadata { \_internal\_repr: {}, flags: 0 },  
temporal-web | details: ‘DNS resolution failed’  
temporal-web | }  
temporal-web | OperationalError: 14 UNAVAILABLE: DNS resolution failed  
temporal-web | at Object.exports.createStatusError (/usr/app/node\_modules/grpc/src/common.js:91:15)  
temporal-web | at Object.onReceiveStatus (/usr/app/node\_modules/grpc/src/client\_interceptors.js:1209:28)  
temporal-web | at InterceptingListener.\_callNext (/usr/app/node\_modules/grpc/src/client\_interceptors.js:568:42)  
temporal-web | at InterceptingListener.onReceiveStatus (/usr/app/node\_modules/grpc/src/client\_interceptors.js:618:8)  
temporal-web | at callback (/usr/app/node\_modules/grpc/src/client\_interceptors.js:847:24) {  
temporal-web | cause: Error: 14 UNAVAILABLE: DNS resolution failed  
temporal-web | at Object.exports.createStatusError (/usr/app/node\_modules/grpc/src/common.js:91:15)  
temporal-web | at Object.onReceiveStatus (/usr/app/node\_modules/grpc/src/client\_interceptors.js:1209:28)  
temporal-web | at InterceptingListener.\_callNext (/usr/app/node\_modules/grpc/src/client\_interceptors.js:568:42)  
temporal-web | at InterceptingListener.onReceiveStatus (/usr/app/node\_modules/grpc/src/client\_interceptors.js:618:8)  
temporal-web | at callback (/usr/app/node\_modules/grpc/src/client\_interceptors.js:847:24) {  
temporal-web | code: 14,  
temporal-web | metadata: Metadata { \_internal\_repr: {}, flags: 0 },  
temporal-web | details: ‘DNS resolution failed’  
temporal-web | },  
temporal-web | isOperational: true,  
temporal-web | code: 14,  
temporal-web | metadata: Metadata { \_internal\_repr: {}, flags: 0 },  
temporal-web | details: ‘DNS resolution failed’  
temporal-web | }

---

<div class="post-metadata">

**Author:** ![tihomir](https://sea2.discourse-cdn.com/flex016/user_avatar/community.temporal.io/tihomir/32/6580_2.png) [@tihomir](https://community.temporal.io/u/tihomir)\
**Post date:** [February 6, 2023, 4:20pm UTC](https://community.temporal.io/t/not-able-to-install-temporal-on-qa-machines-using-docker-compose/7174/2 "2023-02-06T16:20:26Z")

</div>

Hi are you deploying the temporalio/web or temporalio/ui image for temporal-web service?

Can you share how you are deploying (if you are using docker compose share yaml or show your docker commands you use to start temporal-web).

---

<div class="post-metadata">

**Author:** ![aditi\_ritam](https://sea2.discourse-cdn.com/flex016/user_avatar/community.temporal.io/aditi_ritam/32/940_2.png) [@aditi\_ritam](https://community.temporal.io/u/aditi_ritam)\
**Post date:** [February 6, 2023, 4:28pm UTC](https://community.temporal.io/t/not-able-to-install-temporal-on-qa-machines-using-docker-compose/7174/3 "2023-02-06T16:28:38Z")

</div>

version: “3.5”  
services:  
mysql:  
container\_name: temporal-mysql  
environment:  
- MYSQL\_ROOT\_PASSWORD=root  
image: mysql:5.7.37  
networks:  
- temporal-network  
ports:  
- 3306:3306  
temporal:  
container\_name: temporal  
depends\_on:  
- mysql  
environment:  
- DB=mysql  
- DB\_PORT=3306  
- MYSQL\_USER=x  
- MYSQL\_PWD=x  
- MYSQL\_SEEDS=x.x.x.x  
- DYNAMIC\_CONFIG\_FILE\_PATH=config/dynamicconfig/development-mysql.yaml  
image: temporalio/auto-setup:1.10.2  
networks:  
- temporal-network  
ports:  
- 7233:7233  
volumes:  
- ./dynamicconfig:/etc/temporal/config/dynamicconfig  
temporal-admin-tools:  
container\_name: temporal-admin-tools  
depends\_on:  
- temporal  
environment:  
- TEMPORAL\_CLI\_ADDRESS=temporal:7233  
image: temporalio/admin-tools:1.10.2  
networks:  
- temporal-network  
stdin\_open: true  
tty: true  
temporal-web:  
container\_name: temporal-web  
depends\_on:  
- temporal  
environment:  
- TEMPORAL\_GRPC\_ENDPOINT=temporal:7233  
- TEMPORAL\_PERMIT\_WRITE\_API=true  
image: temporalio/web:1.10.0  
networks:  
- temporal-network  
ports:  
- 8088:8088  
networks:  
temporal-network:  
driver: bridge  
name: temporal-network

---

<div class="post-metadata">

**Author:** ![aditi\_ritam](https://sea2.discourse-cdn.com/flex016/user_avatar/community.temporal.io/aditi_ritam/32/940_2.png) [@aditi\_ritam](https://community.temporal.io/u/aditi_ritam)\
**Post date:** [February 6, 2023, 4:35pm UTC](https://community.temporal.io/t/not-able-to-install-temporal-on-qa-machines-using-docker-compose/7174/4 "2023-02-06T16:35:33Z")

</div>

**ERROR: mediaType in manifest should be ‘application/vnd.docker.distribution.manifest.v2+json’ not 'application/vnd.oci.image.manifest.v1+json** ’  
cat docker-compose-mysql.yml  
version: “3.5”  
services:  
mysql:  
container\_name: temporal-mysql  
environment:  
- MYSQL\_ROOT\_PASSWORD=root  
image: mysql:${MYSQL\_VERSION}  
networks:  
- temporal-network  
ports:  
- 3306:3306  
volumes:  
- /var/lib/mysql  
temporal:  
container\_name: temporal  
depends\_on:  
- mysql  
environment:  
- DB=mysql  
- DB\_PORT=3306  
- MYSQL\_USER=root  
- MYSQL\_PWD=root  
- MYSQL\_SEEDS=mysql  
- DYNAMIC\_CONFIG\_FILE\_PATH=config/dynamicconfig/development-sql.yaml  
image: temporalio/auto-setup:${TEMPORAL\_VERSION}  
networks:  
- temporal-network  
ports:  
- 7233:7233  
volumes:  
- ./dynamicconfig:/etc/temporal/config/dynamicconfig  
labels:  
kompose.volume.type: configMap  
temporal-admin-tools:  
container\_name: temporal-admin-tools  
depends\_on:  
- temporal  
environment:  
- TEMPORAL\_CLI\_ADDRESS=temporal:7233  
image: temporalio/admin-tools:${TEMPORAL\_VERSION}  
networks:  
- temporal-network  
stdin\_open: true  
tty: true  
temporal-ui:  
container\_name: temporal-ui  
depends\_on:  
- temporal  
environment:  
- TEMPORAL\_ADDRESS=temporal:7233  
- TEMPORAL\_CORS\_ORIGINS=[http://localhost:3000](http://localhost:3000)  
image: temporalio/ui:${TEMPORAL\_UI\_VERSION}  
networks:  
- temporal-network  
ports:  
- 8080:8080  
networks:  
temporal-network:  
driver: bridge  
name: temporal-network

---

<div class="post-metadata">

**Author:** ![tihomir](https://sea2.discourse-cdn.com/flex016/user_avatar/community.temporal.io/tihomir/32/6580_2.png) [@tihomir](https://community.temporal.io/u/tihomir)\
**Post date:** [February 6, 2023, 6:47pm UTC](https://community.temporal.io/t/not-able-to-install-temporal-on-qa-machines-using-docker-compose/7174/5 "2023-02-06T18:47:42Z")

</div>

Regarding web ui:

```auto
container_name: temporal-web
depends_on:
- temporal
environment:
- TEMPORAL_GRPC_ENDPOINT=temporal:7233
- TEMPORAL_PERMIT_WRITE_API=true
image: temporalio/web:1.10.0
networks:
- temporal-network
ports:
- 8088:8088

```

use the new temporal web ui, teamporalio/web is deprecated. So:

```auto
temporal-ui:
    container_name: temporal-ui
    environment:
      - TEMPORAL_ADDRESS=temporal:7233
      - TEMPORAL_CORS_ORIGINS=http://localhost:3000
      - TEMPORAL_UI_PORT=8080
    image: temporalio/ui:2.10.1
    ports:
      - published: 8080
        target: 8080

```

tags [here](https://hub.docker.com/r/temporalio/ui/tags)
