在win10上docker安装教程及配置使用mysql容器 您所在的位置:网站首页 docker安装mysql挂载 在win10上docker安装教程及配置使用mysql容器

在win10上docker安装教程及配置使用mysql容器

#在win10上docker安装教程及配置使用mysql容器| 来源: 网络整理| 查看: 265

参照了很多网上的资料,亲自实践总结安装过程。

1、为了下载安装docker,首先需要启动电脑自带的虚拟化技术Hyper-V,具体方法-打开控制面板-----》程序与功能-------.>点进入 启用或关闭Windows功能.。找到Hyper-V进行勾选

2、启用 bios 虚拟化,是否已启用可以通过任务管理器查看,如何启用可以参考连接https://www.kafan.cn/A/23mewgmynm.html

ctr+alt+delete 快捷键进入查看,虚拟化开启即可

3、去docker官方网站去下载对应的docker,这里我安装的是win10 docker,下载连接 https://docs.docker.com/docker-for-windows/install/#download-docker-for-windows

3、下载好之后进行傻瓜式安装。

4、成功之后点击图标进入docker,首次登陆可能需要注册账号,这里不讲了,比较简单自行上网查找。

5、测试docker,在cmd命令行输入docker --version

如果出现下图,则安装成功

我第一次出现了问题:Error response from daemon: open \\.\pipe\docker_engine_linux: The system cannot find the file specified.

根据查询可能是两种方法(1)重启docker和cmd,在cmd执行下面命令

Net stop com.docker.service Net start com.docker.service

(2)可能是因为没有配置镜像,这里顺便将镜像配置了,方便以后,拉容器

配置成功后重启,进行测试,测试成功后

6、拉去自己需要的镜像即可,这里我需要一个mysql数据库镜像

在来去时可以先使用命令 docker search mysql 查看MySQL都有哪些镜像,选择自己需要的。

7、数据库配置参考链接

https://www.cnblogs.com/liconglong/p/11685316.html

docker run - ...有一下选项

-a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;

-d: 后台运行容器,并返回容器ID;

-i: 以交互模式运行容器,通常与 -t 同时使用;

-P: 随机端口映射,容器内部端口随机映射到主机的端口

-p: 指定端口映射,格式为:主机(宿主)端口:容器端口

-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;

--name="nginx-lb": 为容器指定一个名称;

--dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;

--dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;

-h "mars": 指定容器的hostname;

-e username="ritchie": 设置环境变量;

--env-file=[]: 从指定文件读入环境变量;

--cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定CPU运行;

-m :设置容器使用内存最大值;

--net="bridge": 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;

--link=[]: 添加链接到另一个容器;

--expose=[]: 开放一个端口或一组端口;

--volume , -v: 绑定一个卷

docker run -v 本地目录:容器目录 将容器目录挂载到本地目录

docker run -p 3306:3306 --name mysql8 -v C:/MySoftware/dockerMysql8/conf:/etc/mysql/conf.d -v C:/MySoftware/dockerMysql8/datadir:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8

我在运行时出现了问题,说明端口自被占用,需要关掉了其他占用端口

在cmd命令行中输入

netstat -ano ---------》可以看到端口占用情况

netstat -aon|findstr "端口" 可以监听到 PID:6012

那么根据PID,如何关闭占用端口的进程,进入任务管理器(快捷键ctr+alt+delete),可以看到是我本地的mysql已经占用了3306端口号,我们可以鼠标右键结束任务

8、启动mysqldocker容器

利用docker ps命令可以查看当前运行的容器,docker ps -a 查看所有容器(包括停止的容器)

可以命令 停止和启动docker容器

停止容器:docker stop [CONTAINER ID]

启动 容器:docker start [CONTAINER ID]

也可以在windows的docker桌面版里启动

9、进入容器

命令 docker exec -it [NAMES] bash,这里names可以用那么也可以使用容器ID即Container ID

下图是进入容器的情况,进入成功

10、不要急我们还没有进入数据库

使用mysql -uroot -p123456 进入数据库

使用show databases查看数据库

use mysql进入名为mysql的数据库,show tables可以查看当前数据库有哪些表

11、为了方便以后远程连接,需要下面操作

需要修改user表中的user为root变为%。这里没有修改成功,因为一开始就是%

exit关掉,利用service mysqld restart重新启动mysql服务。

这里出现问题,应是我没有安装mysql-service

配置到这里基本就大功告成了,从docker安装到配置容器

------------------------------------------------------------------------------------死亡分割线

12、那如何远程连接docker的mysql容器呢?

首先查看dockers镜像ip,在终端输如ifconfig,如果出现 bash: ifconfig: command not found,则需要安装一些东西sudo apt-get install net-tools,现在就可以访问ifconfig

现在还不能连接成功,给root用户分配权限

alter user 'root'@'%' identified with mysql_native_password by '123456';

刷新权限

flush privileges;

到这里基本完成了,利用SQL连接软件测试连接,这里推荐一个比较好用发数据库桌面版,非常适合小白----DBeaver

参考资料:

https://www.runoob.com/docker/docker-ps-command.html

https://blog.csdn.net/qq_15058425/article/details/81610612



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有