docker-compose mysql和node连接认证mongo问题
前言
最近,想部署一个自己的项目,鉴于自己的服务器是VPS(虚拟主机),配置也不够,就想到了用 docker
直接部署好了,这样既方便部署也方便不用的时候卸载或更新
然后本地搭建了环境,踩了一些坑,在这里记录一下
mysql 问题(初始化创建数据库不成功)
首先我是使用 docker-compose
来搭建我的服务的,配置如下:
mysql:
image: mysql:5.5
restart: always
# 构建容器
build: ./mysql
environment:
MYSQL_ROOT_PASSWORD: 123456
TZ: Asia/Shanghai
volumes:
- ./mysql/db:/var/lib/mysql
ports:
- 3306:3306
所以第一次运行 docker-compose up
的时候没有加上密码(MYSQL_ROOT_PASSWORD
配置),然后出于安全起见,我配置了root密码,然后关闭后,执行 docker-compose up
,发现 mysql
容器的数据库并没有创建
查了下资料:https://github.com/docker-library/mariadb/issues/68
挂载的宿主主机的文件夹必须为空文件夹(.gitignore等隐藏文件不影响),如果里面有文件,就不会初始化数据库。
ps:
mongo
创建不成功也可参考如上解决方法
node连接认证mongo问题
首先我的 docker-compose.yml
配置文件如下:
mongo:
image: mongo
restart: always
environment:
MONGO_INITDB_ROOT_USERNAME: gating
MONGO_INITDB_ROOT_PASSWORD: 123456
TZ: Asia/Shanghai
# 需要链接本地代码时
volumes:
- ./mongo/db:/data/db
ports:
- 27017:27017
我尝试了通过文档的认证连接,代码如下:
mongoose.connect('mongodb://user:pass@mongo/database');
ps: 这里能用
mongo
是因为我在docker-compose
中指定了mongo
容器的名字,在代码里使用mongo
就表示localhost:27017
连接失败,最后才发现是我缺少了一个配置 authSource,然后配置上了,最后终于连接上了我的mongo,可以愉快的开发部署了
const mongoose = require('mongoose')
mongoose.connect('mongodb://gating:123456@mongo/small_time?authSource=admin')
docker-compose mysql和node连接认证mongo问题的更多相关文章
- docker部署mysql Navicat远程连接
docker部署mysql Navicat远程连接 docker search mysql 查看mysql镜像(是去dockerHub网站搜素镜像,遇到问题可以去该网站查看官方文档,纯英文文档估计 ...
- docker部署mysql 实现远程连接
1. docker search mysql # 查看mysql版本 2. docker pull mysql:5.7 # 拉取mysql 5.7 3. docker images # 查 ...
- Docker安装MySQL并配置远程访问
1.docker search mysql 查看mysql版本 2.docker pull mysql 要选择starts最高的那个name 进行下载 3.docker images 查看下载好的镜像 ...
- [phvia/dkc] Docker Compose 快速构建(LNMP+Node)运行环境
快速构建(LNMP+Node)运行环境. dkc 在此作为 docker-compose 的缩写,你可以理解为 alias dkc=docker-compose 准备 安装 docker 选择1) 从 ...
- Spring Boot 2.0(五):Docker Compose + Spring Boot + Nginx + Mysql 实践
我知道大家这段时间看了我写关于 docker 相关的几篇文章,不疼不痒的,仍然没有感受 docker 的便利,是的,我也是这样认为的,I know your felling . 前期了解概念什么的确实 ...
- (转)Spring Boot 2 (五):Docker Compose + Spring Boot + Nginx + Mysql 实践
http://www.ityouknow.com/springboot/2018/03/28/dockercompose-springboot-mysql-nginx.html 我知道大家这段时间看了 ...
- Spring Boot 2 (五):Docker Compose + Spring Boot + Nginx + Mysql 实践
Spring Boot 2 (五):Docker Compose + Spring Boot + Nginx + Mysql 实践 Spring Boot + Nginx + Mysql 是实际工作中 ...
- docker 安装mysql mongo
Docker安装Mysql 1.拉取镜像 docker pull mysql/mysql-server 2.运行mysql docker run -d -p : --name [Name] [Imag ...
- 基于Docker Compose构建的MySQL MHA集群
Docker MySQL MHA 基于Docker 1.13.1之上构建的MySQL MHA Docker Compose Project 可快速启动GTID模式下的MasterHA集群, 主用于My ...
随机推荐
- 【转载】文件上传那些事儿,文件ajax无刷上传
导语 正好新人导师让我看看能否把产品目前使用的FileUploader从老的组件库分离出来的,自己也查阅了相关的各种资料,对文件上传的这些事有了更进一步的了解.把这些知识点总结一下,供自己日后回顾,也 ...
- webservice初级
在学习webservice的时候,经常将ns和url花了好久时间才理解过来,这里备份下! 首先定义接口: @WebService public interface IService { @WebRes ...
- k8s安装部署成功
- React组件proptypes, ref
一.使用props.children访问嵌套数据 import React from 'react'; class Button extends React.Component { render () ...
- Redux:Reducers
action只是描述了“发生了什么事情(导致state需要更新)”,但并不直接参与更新state的操作.state的更新由reducer函数执行. 其基本模式是:(state,action)=> ...
- React:Lifting State Up
在学习React的组件的时候,我也好奇组件间需要共享状态或通信的时候,React是如何处理的.在文档的QUICK START的提到Lifting State Up(状态提升),并不是什么新鲜东西.只是 ...
- Java中JVM相关面试题-整理
1.JVM内存模型 •程序计数器:当前线程字所执行节码的行号指示器,用于记录正在执行的虚拟机字节指令地址,线程私有. •Java虚拟机栈:存放基本数据类型,对象的引用,方法出口等,线程私有. •本地方 ...
- mysql运维入门5:MySQL+kepalived高可用架构
keepalive 类似3/4/7层交换机制的软件,也就是平时说的第三层.第四层.第七层交换 作用是检测web服务器的状态,如果有一台web服务器.mysql服务器宕机.或工作出现故障,keepali ...
- WebApiClientCore使用说明
前言 我是WebApiClient库的作者,目前在开发其.netcore版本,在整理其readme后,想想一来这部分内容可能对大家有用,二来兴许能给WebApiClient带人更多人气,所以将read ...
- 【Linux】Xshell 配置密钥登陆
设置不需要密码登陆 vim /etc/ssh/sshd_config 在配置文件中参数的意义 PubkeyAuthentication yes #启用公告密钥配对认证方式 AuthorizedKeys ...