mysql
mysql ip获取
koa
修改db 配置
DockerFile
1 2 3 4 5 6 7 8 9 10
| FROM node:10-alpine RUN mkdir -p /home/node/app/node_modules && chown -R node:node /home/node/app WORKDIR /home/node/app COPY package*.json ./ USER node RUN yarn COPY --chown=node:node . . EXPOSE 3009
CMD [ "npm", "start" ]
|
1 2 3 4 5
| "scripts": { "start": "./node_modules/.bin/nodemon bin/www", "dev": "./node_modules/.bin/nodemon bin/www", "prd": "pm2 start bin/www", },
|
.dockerignore
1 2 3 4 5 6 7
| node_modules npm-debug.log Dockerfile .dockerignore yarn-error.log package-lock.json yarn.lock
|
构建镜像
1
| docker build -t cheonghu/demo .
|
启动镜像
1
| docker run -d -p 3009:3009 --name demo cheonghu/demo
|
dns坑
使用dns
修改db
1 2 3 4 5 6 7 8
| # 尤其要注意镜像是否支持shell database: { DATABASE: 'demo', USERNAME: 'root', PASSWORD: '123456', PORT: '3306', HOST: 'mysqldb' },
|
修改启动容器的dns查询
1 2
| # --dns = IP_ADDRESS:添加DNS服务器到容器的/etc/resolv.conf中,让容器使用该服务器来解析所有不在/etc/hosts中的主机名。 docker run -d -p 3009:3009 --add-host=mysqldb:172.17.0.2 --name demo cheonghu/demo
|
容器启动时候指定host
1 2
| # -h HOSTNAME或--hostname = HOSTNAME:设置容器的主机名,它会被写到容器内部的/ etc / hostname和/ etc / hosts。 docker run -it -p 3306:3306 --name mysqldb -h=mysqldb mysql
|
本文作者:前端analysis
版权声明: 本文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!
若你觉得我的文章对你有帮助,欢迎点击上方按钮对我打赏