【发布时间】:2015-06-30 15:47:48
【问题描述】:
我尝试运行一个带有 2 个容器的实例,1 个带有 mysql 的容器和其他带有节点的容器。
在 docker-compose.yml 文件中:
api:
build: ./server
ports:
- 8001:8001
links:
- mysql:mysql
mysql:
image: mysql
environment:
MYSQL_DATABASE: ghostDB
MYSQL_ROOT_PASSWORD: root
volumes:
- /data/mysql:/var/lib/mysql
server/的Dockerfile:
FROM node:0.12
ENV PORT 8001
ENV MYSQL_DATABASE ghostDB
ENV MYSQL_USER root
ENV MYSQL_PASSWORD root
ENV MYSQL_HOST mysql
ENV MYSQL_PORT 3306
ENV API_DIR /usr/src/server-celerative
COPY . \${API_DIR}
WORKDIR \${API_DIR}
RUN npm install
RUN node index.js
index.js
var db = mysql.createConnection({
host: 'mysql',
port: '3306',
user: 'root',
password: 'root',
database: 'ghostDB'
});
但我有输出:
Error: getaddrinfo ENOTFOUND mysql
at errnoException (dns.js:44:10)
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:94:26)
--------------------
我不明白为什么不工作。
有人帮忙吗?
注意:我使用 boot2docker。
【问题讨论】:
标签: docker boot2docker dockerfile docker-compose