我在将作为 docker 容器运行的应用程序连接到 mongoDB 时遇到问题。我知道新版本 docker-compose 不推荐使用“链接”,所以我尝试使用自定义网络。我的 docker-compose.yml:
version: "3.3"
services:
app:
container_name: app
build: ./app
depends_on:
- "mongodb"
networks:
- my-network
command: pm2-docker start pm2.config.js --watch
volumes:
- ./app/logs:/opt/app/logs
- ./app:/opt/app
ports:
- "3010:80"
mongodb:
image: mongo
container_name: mongodb
restart: always
environment:
MONGO_INITDB_ROOT_PASSWORD: pw
MONGO_INITDB_ROOT_USERNAME: login
MONGO_INITDB_DATABASE: dbname
volumes:
- ./mongodb/db:/data/db
ports:
- "27017:27017"
networks:
- my-network
networks:
my-network:
driver: bridge
Run Code Online (Sandbox Code Playgroud)
我的应用程序的 Dockerfile:
FROM node:10.7.0
RUN npm i -g pm2
RUN pm2 install pm2-logrotate \
&& pm2 set pm2-logrotate:max_size …Run Code Online (Sandbox Code Playgroud) 我的文件夹中有单个文件:
test.erl
Run Code Online (Sandbox Code Playgroud)
但是我无法编译我的模块:
test.erl:8: syntax error before:
test.erl:2: function area/1 undefined
Run Code Online (Sandbox Code Playgroud)
这是我尝试编译test.erl文件的方法:
erlc ./test.erl
Run Code Online (Sandbox Code Playgroud)
test.erl包含以下行:
-module(test).
-export([area/1]).
% comment
area({triangle, A, B, C}) ->
S = (A + B + C) / 2,
math:sqrt(S*(S-A)*(S-B)*(S-C));
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?