docker+mysql(8.0.15)+node.js(hapi.js)构建容器(命令行)

安装docker, 准备一个node.js项目,项目中包含数据库配置。

一、将node.js项目创建为image

在项目中创建.dockerignore文件和dockerfile文件(https://github.com/hanxiaoer1992/docker_nodejs_cmd)

cd 项目文件夹下(cd  ....../docker_nodejs_cmd)

docker image build -t dockertest:0.0.1 .

二、拉取mysql

docker pull mysql

三、构建容器互联网络

docker network create -d bridge network-name

四、运行image: mysql, dockertest:0.0.1

docker run --rm --name mysql --network network-name -e MYSQL_ROOT_PASSWORD=mysqlPassword -d -it -p 3307:3306 mysql

(容器停止后自动删除,不会保留mysql数据)

进入mysql命令行:docker exec -it mysql /bin/bash

mysql -uroot -pmysqlPassword

因‘root‘@‘%‘已在数据库中,alter user ‘root‘@‘%‘ identified with mysql_native_password by ‘mysqlPassword‘;

(如不更改会报Client does not support authentication protocol requested by server; consider upgrading MySQL client, 因mysql升级后密码机制改变)

grant all privileges on *.* to ‘root‘@‘%‘ with grant option;

flush privileges;

创建数据库:

create database dockerTest;

use dockerTest;

create table test(id int(11) auto_increment, name varchar(40), primary key (id) )default charset=utf8;

insert into test (name) values (‘docker-test‘);

exit退出,或另外打开一个命令行

docker container run --rm --name testplay -it -p 1000:3000 --network network-name --link mysql:mysql -e DATABASE_HOST=mysql -e DB_USER=root dockertest:0.0.1 /bin/bash

npm start

原文地址:https://www.cnblogs.com/hanxiaoer/p/10526366.html

时间: 2024-08-28 08:56:07

docker+mysql(8.0.15)+node.js(hapi.js)构建容器(命令行)的相关文章

mysql 8.0.15 的my.ini 配置

my.ini [mysqld] # 设置3306端口 port=3306 # 自定义设置mysql的安装目录,即解压mysql压缩包的目录 basedir=D:\installional\mysql-8.0.15-winx64 # 自定义设置mysql数据库的数据存放目录 datadir=D:\installional\mysql-8.0.15-winx64\data # 允许最大连接数 max_connections=200 # 允许连接失败的次数,这是为了防止有人从该主机试图攻击数据库系统

进入docker 容器命令行

#!/bin/bash CNAME=$1 CPID=$(docker inspect --format "{{.State.Pid}}" $CNAME) nsenter --target "$CPID" --mount --uts --ipc --net --pid 调用 ./in.sh mydocker-name 原文地址:https://www.cnblogs.com/royfans/p/11044380.html

kubectl&docker容器命令行窗口太小

#k8s kubectl exec -ti busybox env COLUMNS=$COLUMNS LINES=$LINES bash #k8s example kubectl exec -ti   mytomcat-6f898c6f44-9m52h   env  COLUMNS=180 LINES=180 bash #docker docker exec -it -e LINES=$(tput lines) -e COLUMNS=$(tput cols) 镜像 bash 原文地址:https

Linux下安装二进制版mysql-8.0.15

1.添加用户## 添加用户组groupadd mysql## 添加用户,指定用户home目录useradd -g mysql mysql -d /data/mysql## 解压下载的mysql二进制包tar -xvf mysql-8.0.15-linux-glibc2.12-x86_64.tar.xz -C /data/mysql## 如果需要修改目录名称,mv修改目录名称,不多说明## 因/data目录有比较大的磁盘空间,防止后期数据量太大,导致磁盘空间不够,将mysql的包及相关配置放在/d

命令行模式下 MYSQL导入导出.sql文件的方法

一.MYSQL的命令行模式的设置:桌面->我的电脑->属性->环境变量->新建->PATH=“:path\mysql\bin;”其中path为MYSQL的安装路径.二.简单的介绍一下命令行进入MYSQL的方法:1.C:\>mysql -h hostname -u username -p  .C:\>mysql -h localhost -u root-p按ENTER键,等待然后输入密码.这里hostname为服务器的名称,如localhost,username为M

mysql命令行导出导入数据库

一.MYSQL的命令行模式的设置: 桌面->我的电脑->属性->环境变量->新建->PATH=“:path\mysql\bin;”其中path为MYSQL的安装路径.二.简单的介绍一下命令行进入MYSQL的方法:1.C:\>mysql -h hostname -u username -p 按ENTER键,等待然后输入密码.这里hostname为服务器的名称,如localhost,username为MYSQL的用户名,如root.进入命令行后可以直接操作MYSQL了.2.

MySQL命令行导入导出数据库

MySQL命令行导出数据库:1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录,如我输入的命令行:cd C:\Program Files\MySQL\MySQL Server 4.1\bin(或者直接将windows的环境变量path中添加该目录) 2,导出数据库:mysqldump -u 用户名 -p 数据库名 > 导出的文件名,如我输入的命令行:mysqldump -u root -p news > news.sql (输入后会让你输入进入MySQL的密码)(如

docker安装MySQL 8.0及初始化错误处理

Preface     Several days ago,I've implement a docker environmnet,I'm gonna Install a MySQL 8.0 version on it.Let's see the detail of it.   Procedure Check and run docker container again. 1 [[email protected] vagrant]# docker images 2 REPOSITORY TAG I

MySQL 8.0版本无法使用 node、Navicat等三方工具连接的问题

问题描述: 在官网下载mysql之后,一切按照默认配置安装完毕. (windows 7 64位操作系统) 使用 MySQL Workbench 8.0 CE 登录本地库,正常: 使用 MySQL Workbench 8.0 CE 登录网络库,正常: 使用 node.js登录本地库,提示报错: Error: ER_NOT_SUPPORTED_AUTH_MODE: 使用 node.js登录网络库,提示报错: Error: ER_NOT_SUPPORTED_AUTH_MODE: 问题分析: 高版本的M