docker-day4---image--安装mysql

本文我们来看看docker一个比较重要的概念:镜像-image

我们dokcer里跑的每个程序,它都是一个镜像文件,这个镜像文件需要用Dockerfile这么一个文件来编写,当然你现在不会这个语法以及不知道它是什么没关系,我们可以去 DockerHub 上去搜索很多前辈已经编写好的镜像

查看本机的镜像文件:docker images


很明显这个是我们上文中跑的那个第一个程序 , hello world

你像比如你需要一个java携带jdk的镜像文件

我们可以直接在仓库中心来搜索: 输入命令 docker search  你所需要搜索的镜像名字

你想要装一个mysql 那就搜索   docker search mysql 


当然我们还可以直接去 docker hub 的官方网站上去搜索 :

https://hub.docker.com/


也能得到 很多的镜像文件信息。

那这里呢,我想偷懒,就用这些前辈的mysql镜像文件来使用,想在我的服务器上安装一个mysql服务,并且外面通过ip、端口号、用户名以及密码,能够访问到这个mysql

========================分割线================================

第一步:搜索mysql 镜像文件

docker search mysql 


这里面都是按照 星级 排序的,我们用最高的那一个就可以了

第二部:下载mysql的镜像文件

直接输入:docker pull mysql       会默认的下载最新的mysql

下载完了,我们查看一下,镜像文件


可以发现 ,我们的服务器里,已经有了 mysql这个镜像文件了,接下来,我们要去启动这个镜像文件

让mysql的服务跑起来

docker run -p 3306:3306 --name mymysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d 8d99edb9fd40

命令说明:

  • -p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口。

  • -v -v $PWD/conf:/etc/mysql/conf.d:将主机当前目录下的 conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf。

  • -v $PWD/logs:/logs:将主机当前目录下的 logs 目录挂载到容器的 /logs。

  • -v $PWD/data:/var/lib/mysql :将主机当前目录下的data目录挂载到容器的 /var/lib/mysql 。

  • -e MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码。

  • -d 运行后输出 容器id


完成启动之后可用命令 : docker ps 查看正在运行的容器

下面列出一些常用的命令:

$ docker ps // 查看所有正在运行容器

$ docker stop containerId // containerId 是容器的ID

$ docker ps -a // 查看所有容器

$ docker ps -a -q // 查看所有容器ID

$ docker stop $(docker ps -a -q) // stop停止所有容器

$ docker rm $(docker ps -a -q) // remove删除所有容器 ,单个删除直接 :docker rm containerId

$ docker rmi ee633f5d1d11 :这个是用来删除镜像的 后面的是镜像id,删除的镜像的时候要注意,必须先停止容器,然后删除容器,然后删除镜像

这个时候 我可以用一些可视化工具去连接这个mysql 数据库了


如果出现图示的错误, 解决方法:

authentication plugin cachin_sha2_pawwword canot be loaded

1:进入容器 :docker exec -it pwc-mysql /bin/bash

2:mysql -uroot -p -h localhost   

        紧接着会要你输入面,就输入你刚才运行这个容器的时候  

     -e MYSQL_ROOT_PASSWORD=123456     :  输入  123456 即可

3:修改一个密码  ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';

再次 用  可视化 客户端连接 ,就可以了

退出 mysql交互界面 :exit

到此,mysql的 安装 和启动就基本上完成了,但是这里要注意的是这里使用的是mysql官方的镜像文件,会带来好多问题

可以参考:https://www.cnblogs.com/cfrost/p/6241892.html

猜你喜欢

转载自blog.csdn.net/lanshen110119/article/details/80843657