我想在我的 node.js Web 服务器中使用 typescript。但是,Web 服务器位于 Docker 容器中。我像打击一样使用Dockerfile:
FROM node:latest
COPY code/ /usr/local/lib
WORKDIR /usr/local/lib
RUN npm install -g koa@2
RUN npm install -g sequelize
RUN npm install -g mysql
RUN npm install -g typescript
CMD ["sh", "-c", "rm", "webApp.js"]
CMD ["sh", "-c", "tsc", "webApp.ts"]
CMD ["node", "webApp.js"]
Run Code Online (Sandbox Code Playgroud)
在我构建我的 Docker 之后,我发现在 CMD 命令之后没有生成 webApp.js。为什么,我应该如何解决?谢谢。
我在 ubuntu 14.04 LTS 机器上运行 wurstmeister/kafka。Kafka 容器运行良好。但是我无法将我的微服务连接到这个容器。
卡夫卡 docker-compose.yml:
version: '2'
services:
zookeeper:
image: user1/zookeeper:3.4.9
ports:
- "2181:2181"
kafka:
image: my-kafka
ports:
- "9092:9092"
hostname: kafka-01
environment:
KAFKA_ADVERTISED_PORT: 9092
KAFKA_ADVERTISED_HOST_NAME: "kafka-01"
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_CREATE_TOPICS: "topic1:1:1,topic2:1:1"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
Run Code Online (Sandbox Code Playgroud)
docker-compose 用于微服务(myapp):
version: '2'
services:
myapp:
network_mode: 'bridge'
extends:
file: myapp.base.yml
service: myapp
links:
- kafka
zookeeper:
network_mode: 'bridge'
extends:
file: zookeeper.yml
service: zookeeper
kafka:
network_mode: 'bridge'
extends:
file: kafka.yml
service: kafka
links:
- zookeeper
Run Code Online (Sandbox Code Playgroud)
我在环境中链接了 kafka:
kafkaHost=kafka-01:9092
Run Code Online (Sandbox Code Playgroud)
请让我知道我做错了什么或者是否需要更多信息。提前致谢。