1.从Docker检索mysql镜像

指令:

docker search mysql

2.镜像下载

指令:

docker pull mysql:5.7.19

3.查看本地镜像列表

指令:

docker images
#修改镜像名称 docker tag mysql:5.7.19 mysql:5.7

4.根据镜像创建容器

[centos@loovelj~]$ docker create -it mysql:5.7
62c975b37ad25b03914eb61e05088019f37ff9cb049a682ac02f20fac1761a4d
注:可不创建直接执行第5项启动mysql运行

5.设置Mysql的Docker镜像开机自动运行

指令:

docker run --restart=always --name mysql5.7 -p 3306:3306 -v /my/mysql/datadir:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

--name 容器的别称。
-p 端口映射。格式是 主机的端口:容器的端口。这里2个都是3306,所以是3306:3306
-e 设置容器的环境变量。-e MYSQL_ROOT_PASSWORD=123456就代表mysql的root的密码是123456
-d 使用镜像包名称,可以通过docker images查看
-v 将主机当前目录下的/my/mysql/datadir挂载到容器的/var/lib/mysql;

restart=always, 告诉docker,这个容器要自动启动

6.进入MySQL终端

[centos@loovelj~]$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2a7a85124400 mysql:5.7 "/entrypoint.sh my..." 9 seconds ago Up 8 seconds 0.0.0.0:3306->3306/tcp mysqlserver
188099665d1e ubuntu:latest "/bin/bash" 23 hours ago Up 23 hours angry_spence
[centos@liujun ~]$ docker exec -it  2a7a85124400  /bin/bash
root@2a7a85124400:/# mysql -h 127.0.0.1 -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.9 MySQL Community Server (GPL) Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>

7.常用Docker指令及参数

1>.Docker镜像指令

镜像检索
Docker的镜像都放置在Docker官网的Docker Hub上,地址是https://registry.hub.docker.com。可在该网站搜索镜像,也可以用命令“docker search 镜像名”(如:docker search redis)检索。

镜像下载
docker pull 镜像名

查看本地镜像列表
docker images

删除镜像
docker rmi image-id

删除所有镜像
docker rmi $(docker images -q)

2>.Docker容器指令

运行镜像为容器
docker run --name container-name -d image-name
其中--name市委容器取个名称,-d表示detached,意味着执行完这句命令后控制台将不会被阻碍,可继续输入命令操作。如:
docker run --name test-redis -d redis

查看运行中的容器列表
docker ps
通过下列命令可查看运行和停止状态的容器:
docker ps -a

停止容器
通过容器名称或容器ID停止容器
docker stop container-name/container-id
如:
docker stop test-redis

启动容器
通过容器名称或容器ID启动容器
docker start container-name/container-id
如:
docker start test-redis

设置容器开机启动
使用在Docker run的时候使用--restart参数来设置。 
no - container:不重启 
on-failure - container:退出状态非0时重启 
always:始终重启
如:
docker run --restart=always --name mysql5.7 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

端口映射
Docker容器中运行的软件所使用的端口,需要映射到当前主机的端口上才能访问。Docker的端口映射通过一个-p参数来实现。例如,我们将Redis容器的6379端口映射到本机的6378端口:
docker run -d -p 6378:6379 --name port-redis redis

删除容器
docker rm container-id

删除所有容器
docker rm $(docker ps -a -q)

查看当前容器日志
docker logs container-name/container-id
如:
docker logs port-redis

登陆容器
运行中的容器其实是一个功能完备的Linux操作系统,所以我们可以像常规的系统一样登录并访问容器。
我们可以使用如下命令,登录访问当前容器,登陆后我们可以在容器中进行常规的Linux系统操作命令,还可以使用exit命令退出登录:
docker exec -it container-id/container-name bash

8.局域网访问不到的情况解决方法

mysql> grant all privileges on *.* to root@"%" identified by "password" with grant option; 
Query OK, 0 rows affected, 1 warning (0.04 sec)

mysql> flush privileges; 
Query OK, 0 rows affected (0.00 sec)

执行完毕后,再通过工具去连接,就可以连上了。

Docker学习之安装mysql的更多相关文章

  1. docker学习4-docker安装mysql环境

    前言 docker安装mysql环境非常方便,简单的几步操作就可以了 拉取mysql镜像 先拉取mysql的镜像,可以在docker的镜像仓库找到不同TAG标签的版本https://hub.docke ...

  2. docker学习(1) 安装

    docker是啥就不多讲了,简言之就是更轻量.更牛叉的新一代虚拟机技术.下面是安装步骤: 一.mac/windows平台的安装 docker是在linux内核基础上发展而来的,无法直接运行在mac/w ...

  3. docker - 容器里安装mysql

    在docker中安装mysql ubuntu官方镜像是精简的ubuntu系统,很多软件和库没有安装,所以直接安装mysql的话依赖较多,建议直接从源码编译安装mysql 通过命令行安装 先启动一个容器 ...

  4. Docker容器手动安装mysql(国内镜像)

    Docker手动安装mysql 1.创建centos镜像的容器 [root@localhost Tools]# docker run -i -d -h zabbix --name zabbix -p ...

  5. 搭建互联网架构学习--004--centos安装Mysql

    Mysql安装 1. yum安装mysql yum -y install mysql-server 2. 启动mysql服务 启动mysql:service mysqld start 查看mysql的 ...

  6. 一、docker学习笔记——安装docker

    系统win10 企业版 1.下载docker CE 2.安装.注意,由于docker 与Oracle VM VirtualBox 冲突,在windows平台上二者不可共存.你只能2选1!! 3.如果d ...

  7. Docker学习日记-安装Docker

    Docker是什么: 简单理解就是基于go语言开发的开源的应用容器引擎. 对进程进行封装隔离,属于操作系统层面的虚拟化技术. Docker的优势: 1.更高效的利用系统资源 2.更快速的启动时间 3. ...

  8. Docker通过挂载安装mysql

    一.安装 mkdir -p ./docker/mysql cd docker/ cd mysql/ mkdir conf mkdir data mkdir logs  mkdir mysql-file ...

  9. Docker学习之搭建MySql容器服务

    描述 MySQL 5.6 SQL数据库服务器Docker镜像,此容器映像包含用于OpenShift的MySQL 5.6 SQL数据库服务器和一般用法.用户可以选择RHEL和基于CentOS的图像.然后 ...

随机推荐

  1. 转载:Bootstrap 源码解析

    Bootstrap 源码解析 前言 Bootstrap 是个CSS库,简单,高效.很多都可以忘记了再去网站查.但是有一些核心的东西需要弄懂.个人认为弄懂了这些应该就算是会了.源码看一波. 栅格系统 所 ...

  2. JS中点击事件冒泡阻止

    JS中点击事件冒泡阻止 解析: 一个div层'out',内含有一个div层'in'.如下: 两个层都绑定了点击事件,但是点击in层的时候,点击事件会出现冒泡现象,同时也会触发out层的点击事件. 但是 ...

  3. Spring.net介绍及MVC中应用

    Spring.net两大核心内容: IOC(控制反转) 传统的面相对象思维模式是对象A依赖对象B,对象B的实例化和调用都在对象A中发生,一旦对象B中发生变化,对象A也要随之变化,这样使得程序间行程了紧 ...

  4. as2 attachMovie库影片无法获取其影片里面的对象或方法

    1.attachMovie的容器有两个,导致出错.举例子.创建了一个空的gameMc,然后容器又new个同个名字的,在这里不知道为什么不会替换,而是叠加 containerGame.createEmp ...

  5. python中pop()函数的用法

    pop() 函数用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值. 语法:list.pop(obj=list[-1]) //默认为 index=-1,删除最后一个列表值. obj -- ...

  6. classloader trace

    类加载机制: 程序启动时,根据入口函数调用相关功能,功能在不同类中即在不同的class文件中,jvm根据类加载机制来动态加载class文件到内存中,只有被加载后才能被调用,否则引发异常 1.装载:查找 ...

  7. Object-c 协议@protocol(@required、@optional)

    一.什么是协议? 1.协议声明了可以被任何类实现的方法2.协议不是类,它是定义了一个其他对象可以实现的接口3.如果在某个类中实现了协议中的某个方法,也就是这个类实现了那个协议.4.协议经常用来实现委托 ...

  8. 在服务器上同时启动多个tomcat

    我所用Tomcat服务器都为zip版,非安装版.以两个为例:安装第二个Tomcat完成后,到安装目录下的conf子目录中打开server.xml文件,查找以下三处:(1) 修改http访问端口(默认为 ...

  9. Hibernate 再接触 Hello world 模拟Hibernate

    没有Hibernate以前 Cilent 客户端 new出一个对象 然后执行JDBC 然后这样的访问数据库并不是面向对象语言 使用Hibernate以后 Cilent new 出一个对象后 访问配置文 ...

  10. spring boot 项目配置字符编码