前言

最近,想部署一个自己的项目,鉴于自己的服务器是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问题的更多相关文章

  1. docker部署mysql Navicat远程连接

    docker部署mysql Navicat远程连接 docker search mysql   查看mysql镜像(是去dockerHub网站搜素镜像,遇到问题可以去该网站查看官方文档,纯英文文档估计 ...

  2. docker部署mysql 实现远程连接

    1. docker search mysql    # 查看mysql版本 2. docker pull mysql:5.7   # 拉取mysql 5.7 3. docker images  # 查 ...

  3. Docker安装MySQL并配置远程访问

    1.docker search mysql 查看mysql版本 2.docker pull mysql 要选择starts最高的那个name 进行下载 3.docker images 查看下载好的镜像 ...

  4. [phvia/dkc] Docker Compose 快速构建(LNMP+Node)运行环境

    快速构建(LNMP+Node)运行环境. dkc 在此作为 docker-compose 的缩写,你可以理解为 alias dkc=docker-compose 准备 安装 docker 选择1) 从 ...

  5. Spring Boot 2.0(五):Docker Compose + Spring Boot + Nginx + Mysql 实践

    我知道大家这段时间看了我写关于 docker 相关的几篇文章,不疼不痒的,仍然没有感受 docker 的便利,是的,我也是这样认为的,I know your felling . 前期了解概念什么的确实 ...

  6. (转)Spring Boot 2 (五):Docker Compose + Spring Boot + Nginx + Mysql 实践

    http://www.ityouknow.com/springboot/2018/03/28/dockercompose-springboot-mysql-nginx.html 我知道大家这段时间看了 ...

  7. Spring Boot 2 (五):Docker Compose + Spring Boot + Nginx + Mysql 实践

    Spring Boot 2 (五):Docker Compose + Spring Boot + Nginx + Mysql 实践 Spring Boot + Nginx + Mysql 是实际工作中 ...

  8. docker 安装mysql mongo

    Docker安装Mysql 1.拉取镜像 docker pull mysql/mysql-server 2.运行mysql docker run -d -p : --name [Name] [Imag ...

  9. 基于Docker Compose构建的MySQL MHA集群

    Docker MySQL MHA 基于Docker 1.13.1之上构建的MySQL MHA Docker Compose Project 可快速启动GTID模式下的MasterHA集群, 主用于My ...

随机推荐

  1. linux --批量修改文件内容

    由于目前测试的BIOS有一个option 发生了改变,因此我们需要在之前写好的脚本上进行修改,将旧的option 改为新的选项,因此在此处用到了批量修改文件中的内容: 1. perl 命令替换: pe ...

  2. SpringMvc 你该知道如何在HandlerExceptionResolver中获取Model

    在项目开发中,我们通常通过参数的形式注入Model对象,如: @RequestMapping("/demo") public String demo(Model model) { ...

  3. 【数据结构】平衡树splay和fhq—treap

    1.BST二叉搜索树 顾名思义,它是一棵二叉树. 它满足一个性质:每一个节点的权值大于它的左儿子,小于它的右儿子. 当然不只上面那两种树的结构. 那么根据性质,可以得到该节点左子树里的所有值都比它小, ...

  4. pt-summary pt-mysql-summary工具

    2个percona的工具还真挺好用的. pt-summary# Percona Toolkit System Summary Report ###################### Date | ...

  5. java触发器的学习

         public class OpenVirtualService {             public void open(){ //虚机开通                //业务逻辑 ...

  6. js 获取table tr td内的select 和input text

    $("#TableList tr").each(function () {                //for (var i = 1; i <= AM_index; i ...

  7. WARN: Establishing SSL connection without server’s identity verification is not recommended

    问题 使用Spring JDBC 连接 MySQL时,出现如下警告: WARN: Establishing SSL connection without server's identity verif ...

  8. 树状数组区间更新区间查询以及gcd的logn性质

    题目描述 给你一个长为n的序列a m次查询 每次查询一个区间的所有子区间的gcd的和mod1e9+7的结果 输入描述: 第一行两个数n,m之后一行n个数表示a之后m行每行两个数l,r表示查询的区间 输 ...

  9. 【Mood】出大问题(最近很喜欢说这句话)

    开学两周啦,第一周来了一次开学考,是崩了,还好没公布成绩和排名. 这两周下了一个很大的决心,准备转型/专注文化课,初三一次信息学奥赛比赛后就不学了,先保证能上高中重点班(如果有的话). 因为现在起步太 ...

  10. javascript代码重构需要考虑的问题(一)

    1.将数组的长度进行存储,循环时就不用每次去读取一次数组长度,从而提升性能 例如: for (var i = 0, len = arr.length; i < len; i++) { //do ...