2.Docker部署mysql,并配置远程连接

参考:https://blog.csdn.net/smartdt/article/details/78126324

2.1.获取mysql镜像

        这里使用docker search命令在docker官方的镜像仓库中查找我们需要的mysql镜像。

docker search mysql

        下面就是查找的结果,截图没有截全。

docker_search.png

        我这里就选官方的mysql镜像,进行拉取:

docker pull mysql

        接下来,看一下镜像的详细信息:

mysql_detail.png

        上图我截取了一些比较重要的信息,可以看出暴露的端口是3306,还有一些环境变量,数据卷是/var/lib/mysql,端口与数据卷是启动容器时需要进行绑定的,端口用于远程访问,数据卷用于持久化数据。

2.2.启动容器

        在启动容器之前,我先创建一个数据卷来进行持久化,当然也可以直接-v进行指定,我这里就将数据卷交给docker进行管理:

docker volume create mysql

        查看创建的volume:

docker volume ls

        显示:

DRIVER        VOLUME NAME
local        mysql

        说明创建成功了,接下来启动容器:

docker container run -p 3306:3306 --mount source=mysql,destination=/var/lib/mysql -v /etc/localtime:/etc/localtime -e MYSQL_ROOT_PASSWORD=password --name mysql -d mysql

简要说明:
        1.docker container run:启动一个容器并运行。以前版本直接用docker run,后来我估计是为了更细分职责,docker添加了manager command,即docker container,docker image等等。这样符合了模块化的思想,职责更明确(个人想法,有错请各位大佬更正)。
        2.-p 3306:3306:宿主机的3306端口与容器的3306端口进行绑定。这样外部可以通过访问宿主机的3306端口进而访问到容器中的3306端口。
        3.--mount source=mysql,destination=/var/lib/mysql:数据卷进行绑定。source是指的上面我们在宿主机创建出来的volume,destination即我们要与容器中的哪个数据卷进行绑定。当然绑定数据卷还可以用-v 宿主机数据卷:容器数据卷进行绑定。
        4.-v /etc/localtime:/etc/localtime:设定容器的时间与宿主机保持一致。
        5.-e MYSQL_ROOT_PASSWORD=password:设置容器的环境变量。相当于在容器中export MYSQL_ROOT_PASSWORD=password的作用。
        6.--name mysql:设置容器的名称mysql。注意:容器名称是唯一的。
        7.-d:告诉容器在后台运行。
        8.mysql:告诉容器运行的镜像名为mysql。

2.3.设置远程访问

        刚起的mysql容器不具备远程连接的功能,需要我们进入容器中进行设置,首先我们先进入启动的mysql容器:

docker container exec -it mysql bash

        这时你会进入容器的终端界面,启动mysql的连接命令即可:

mysql -uroot -p

        这里的-p的值就是上面你创建容器时设置的环境变量MYSQL_ROOT_PASSWORD的值。由于我这里不想root对外,所以创建了一个用于开发使用的用户(这里把localhost改为%就能远程访问啦):

create user '[用户名称]'@'%' identified by '[用户密码]';
flush privileges;  --立即启用修改

然后测试一下:

mysql -h [localhost] -u[usrname] -p
mysql.png

远程连接成功!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • (首先说明:这是读后随想,站在道教的角度做出揣测和理解,以他们的想法推测他们的做法,以他们的做法推测他们的想法。)...
    一号猫阅读 6,584评论 0 1
  • 近日,群邑移动和数据合作方热巢重磅推出《2018美妆社交白皮书》。报告主要分析了微博、微信公众号、小红书等平台上抓...
    派派酱阅读 5,010评论 0 1
  • 我也不记得是到底什么时候捡到这个家伙的了。 只记得那是一个烈日当头的午后。 翻了翻以前的照片,时间显示出至少是20...
    最后的黑郁金香阅读 3,868评论 0 0
  • 儿子: 假如我是一只小鸟 我要飞到那高高的枝头 沐浴金灿灿的阳光 假如我是一只小鸟 我会飞到你...
    青草盛开阅读 1,631评论 0 0
  • 诗歌英国诗人西格夫里·萨松的几句名言 In me, past, present, future meet 于我,过...
    杏丹雪姣阅读 4,860评论 0 0