您的位置:首页 > 运维架构 > Docker

SecureCRT&docker使用记录(2)docker配置mysql

2019-06-03 17:35 197 查看

使用 Docker 镜像
查询镜像 :docker search [funtion] eg: docker search library
安装镜像: docker pull [选项] [Docker Registry地址]<仓库名>:<标签> eg: docker pull mysql:5.7
查询镜像:docker images
删除镜像: docker rmi eg:docker rmi 7d8
docker rmi [选项] <镜像1> [<镜像2> …]
我们可以用镜像的完整 ID,也称为 长 ID ,来删除镜像。使用脚本的时候可能会用长 ID,但 是人工输入就太累了,所以更多的时候是用 短 ID 来删除镜像。 docker images 默认列出的 就已经是短 ID 了,一般取前3个字符以上,只要足够区分于别的镜像就可以了。
新建并启动容器:docker run
启动已终止容器:docker start
终止容器:docker stop
运行状态容器查询:docker ps
终止状态容器查询:docker ps -a
删除容器:docker rm

下载ubuntu:16.04
docker pull ubuntu:16.04
运行ubuntu:16.04
docker run -it --rm ubuntu:16.04 bash
参数。
-it :这是两个参数,一个是 -i :交互式操作,一个是 -t 终端。我们这里打算进入
bash 执行一些命令并查看返回结果,因此我们需要交互式终端。
–rm :这个参数是说容器退出后随之将其删除。默认情况下,为了排障需求,退出的容
器并不会立即删除,除非手动 docker rm 。我们这里只是随便执行个命令,看看结果,
不需要排障和保留结果,因此使用 --rm 可以避免浪费空间。
ubuntu:14.04 :这是指用 ubuntu:14.04 镜像为基础来启动容器。
bash :放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 bash 。
进入容器后,我们可以在 Shell 下操作,执行任何所需的命令。这里,我们执行了 cat /etc/os-release ,这是 Linux 常用的查看当前系统版本的命令,从返回的结果可以看到容器内是 Ubuntu 14.04.5 LTS 系统。最后我们通过 exit 退出了这个容器。

下载mysql:
docker pull mysql:5.7.
创建目录:mkdir -p ~/mysql/data ~/mysql/logs
~/mysql/conf
data目录将映射为mysql容器配置的数据文件存放路径
logs目录将映射为mysql容器的日志目录
conf目录里的配置文件将映射为mysql容器的配置文件

runoob@runoob:~/mysql$ docker run -p 3306:3306 --name mymysql -v $PWD/logs:/logs -v $PWD/data:/mysql_data -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
-p 3306:3306:将容器的3306端口映射到主机的3306端口
-v $PWD/conf/my.cnf:/etc/mysql/my.cnf:将主机当前目录下的conf/my.cnf挂载到容器的/etc/mysql/my.cnf
-v $PWD/logs:/logs:将主机当前目录下的logs目录挂载到容器的/logs
-v $PWD/data:/mysql_data:将主机当前目录下的data目录挂载到容器的/mysql_data
-e MYSQL_ROOT_PASSWORD=123456:初始化root用户的密码
创建成功的话会返回id: c90b498e170fad8d57174b74941623fee0bf8811e5a71ea0ec6a1f5b0a306480
运行状态容器查询:docker ps
终止容器:docker stop c90b498e170f
终止状态容器查询:docker ps -a
启动已终止容器:docker start c90b498e170f
使用navecate 连接数据库测试,正常情况下是能连接成功,如果不成功,那么检查该容器(docker)的防火墙是否关闭了

7.mysql命令gruop by报错this is incompatible with sql_mode=only_full_group_by
mysql> set global sql_mode=‘STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION’;
mysql> set session sql_mode=‘STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION’;
mysql> exit;
8.docker ps -a
作者:EddieZhang
链接:https://www.jianshu.com/p/f81857753e73
來源:简书

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: