docker实例之mysql的使用

常用步骤 命令
1:搜索镜像 docker search xxx
2:拉取镜像 docker pull xxx:yy
3:查看镜像 docker image inspect xxx:yy
4:运行容器 docker run xxx:yy
5:停止容器 docker container stop ID
6:删除容器 docker container rm ID

演示:

1:搜索mysql镜像

[root@docker ~]# docker search mysql
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
mysql MySQL is a widely used, open-source relation… 8864 [OK]
mariadb MariaDB is a community-developed fork of MyS… 3112 [OK]
mysql/mysql-server Optimized MySQL Server Docker images. Create… 655 [OK]
......

2:拉取镜像

[root@docker ~]# docker pull mysql:5.7
5.7: Pulling from library/mysql
d599a449871e: Pull complete
f287049d3170: Pull complete
08947732a1b0: Pull complete
96f3056887f2: Pull complete
871f7f65f017: Pull complete
1dd50c4b99cb: Pull complete
5bcbdf508448: Pull complete
02a97db830bd: Pull complete
c09912a99bce: Pull complete
08a981fc6a89: Pull complete
818a84239152: Pull complete
Digest: sha256:5779c71a4730da36f013a23a437b5831198e68e634575f487d37a0639470e3a8
Status: Downloaded newer image for mysql:5.7
docker.io/library/mysql:5.7
[root@docker ~]# docker image ls -a
[root@docker ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql 5.7 1e4405fe1ea9 4 days ago 437MB

3:查看镜像信息

[root@docker ~]# docker  image inspect 1e44
...

4:启动一个容器

[root@docker ~]# docker run -p 12345:3306 --name mysql -v /root/mysql/conf:/etc/mysql/conf.d  -v /root/mysql/logs:/logs -v /root/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
fc136870a6baf32639f08a5f4c545aaca26815cecc0c26018184b86b36c72531
[root@docker ~]# docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
fc136870a6ba mysql:5.7 "docker-entrypoint.s…" 18 seconds ago Up 12 seconds 33060/tcp, 0.0.0.0:12345->3306/tcp mysql #命令说明:
-p[小写]:将主机的 12345端口映射到容器内部端口3306
--name:设置别名 mysql
-v /root/mysql/conf:/etc/mysql/conf.d
-v /root/mysql/logs:/logs
-v /root/mysql/data:/var/lib/mysql
-e MYSQL_ROOT_PASSWORD=123456 #初始化root用户密码
-d mysql:5.7 #后台运行

5:进入容器并使用mysql

[root@docker ~]# docker exec -it fc136870a6ba /bin/bash
root@fc136870a6ba:/# root@fc136870a6ba:/# mysql -uroot -p
Enter password: #123456前面设置的
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.28 MySQL Community Server (GPL) Copyright (c) 2000, 2019, 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>
#成功进入mysql客户端
mysql> show databases; #显示数据库
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec) mysql> create database db01; #创建一个数据库
Query OK, 1 row affected (0.00 sec) mysql> show databases ;
+--------------------+
| Database |
+--------------------+
| information_schema |
| db01 |
| mysql |
| performance_schema |
| sys |
+--------------------+
5 rows in set (0.00 sec) mysql> use db01; #切换数据库
Database changed
mysql> create TABLE mybook (id int not null primary key,name char(15),price int,pages int); #建表
Query OK, 0 rows affected (0.13 sec) mysql> DESCRIBE mybook; #查询表结构
+-------+----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+----------+------+-----+---------+-------+
| id | int(11) | NO | PRI | NULL | |
| name | char(15) | YES | | NULL | |
| price | int(11) | YES | | NULL | |
| pages | int(11) | YES | | NULL | |
+-------+----------+------+-----+---------+-------+
4 rows in set (0.24 sec) mysql> INSERT INTO mybook(id,name,price,pages) VALUES('1','docker','60','438'); #插入一条数据
Query OK, 1 row affected (0.01 sec) mysql> SELECT * FROM mybook; #查询数据
+----+--------+-------+-------+
| id | name | price | pages |
+----+--------+-------+-------+
| 1 | docker | 60 | 438 |
+----+--------+-------+-------+
1 row in set (0.00 sec)
mysql> quit
Bye
root@fc136870a6ba:/# read escape sequence
[root@docker ~]#
[root@docker ~]# docker ps -al
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
fc136870a6ba mysql:5.7 "docker-entrypoint.s…" 27 minutes ago Up 27 minutes 33060/tcp, 0.0.0.0:12345->3306/tcp mysql
[root@docker ~]# mysql练习结束

6:使用win主机上的Navicat for MySQL 连接 虚拟机中运行的mysql容器

1:找到容器运行的主机的IP地址
[root@docker ~]# ifconfig eno16777728 |grep broad | sed 's/inet//' |sed 's/netmask.*//'
192.168.1.10
2:在win主机中远程连接

数据和刚刚在容器中的生成的一样,成功。

docker实例之mysql的使用的更多相关文章

  1. 使用EF操作Docker中的Mysql实例

    为啥我会选择mysql呢?因为我的服务器配置较低,而SqlServer在docker中的实例,服务器的运行内存应当保持在2G+,我没有这个条件,它会爆出这样的错误 sqlservr: This pro ...

  2. 【架构】docker环境搭建mysql主从

    序 本文主要研究怎么在docker上搭建mysql的主从.因为在单机搭建mysql多实例然后再配主从,感觉太痛苦了,环境各有不同,配置各不大相 同,从网上找搭建方法,试了半天也没成功,最后也没耐心调试 ...

  3. 【docker】【mysql】docker安装mysql,阿里云docker镜像加速器,docker搜索查看远程仓库上的镜像,docker拉取镜像,查看本地所有镜像,查看容器的运行状况,查看容器的详细信息

    在docker上安装mysql有两种方式 1.通过Dockerfile构建 2.直接在docker hub上拉取镜像安装 =================本篇采用方法2=============== ...

  4. 在Centos7中安装Docker并实例化Mysql

    首先 本文是一篇安装流程,从初始的Centos7安装Docker后实例化一个Mysql的整个流程,其中会包含一些需要注意的疑点和坑. 实例化的Mysql是将数据和配置保存在宿主机. 注意,在安装Doc ...

  5. 利用SSH桥接访问服务器的Docker运行的MySql服务

    前情提要 docker的运用越来广泛,许多IT公司都已经将自己的服务跑在Docker上面.在安全性方面又做了一层防护.比如:跑在Docker上的Mysql不做外网端口映射,只能在linux服务器上或进 ...

  6. docker迁入迁出mysql

    docker迁出mysql数据库 测试环境: docker服务器 mysql服务器 IP 192.168.163.19 192.168.163.16 操作系统 CentOS7.8 CentOS7.8 ...

  7. Docker容器启动Mysql,Docker实现Mysql主从,读写分离

    Docker容器启动Mysql,Docker实现Mysql主从,读写分离 一.Docker文件编排 二.配置主从复制 2.1 配置master 2.2 配置slave 三.验证主从复制 3.1 mas ...

  8. Docker安装配置mysql

    Docker安装mysql踩坑日记 拉取镜像 sudo docker pull mysql:5.7 运行镜像 docker run -p 3306:3306 --name mysql -v /myda ...

  9. 实例讲解MySQL联合查询

    好了终于贴完了MySQL联合查询的内容了,加上上一篇一共2篇,都是我转载的,实例讲解MySQL联合查询.那下面就具体讲讲简单的JOIN的用法了.首先我们假设有2个表A和B,他们的表结构和字段分别为: ...

随机推荐

  1. 非确定的自动机NFA确定化为DFA

    摘要: 在编译系统中,词法分析阶段是整个编译系统的基础.对于单词的识别,有限自动机FA是一种十分有效的工具.有限自动机由其映射f是否为单值而分为确定的有限自动机DFA和非确定的有限自动机NFA.在非确 ...

  2. 关于到美国学习cs的亲身感受,希望对你们有所帮助

    1.能否向各位寄托天下的朋友们简单介绍一下你自己?比如你国内的学校(或者什么档次),哪年申请出国的,什么专业,硕士还是博士,在美国的学校(或者什么档次),以及留学经历(毕业时间),现在状态(学生?博后 ...

  3. 基于深度学习方法的dota2游戏数据分析与胜率预测(python3.6+keras框架实现)

    很久以前就有想过使用深度学习模型来对dota2的对局数据进行建模分析,以便在英雄选择,出装方面有所指导,帮助自己提升天梯等级,但苦于找不到数据源,该计划搁置了很长时间.直到前些日子,看到社区有老哥提到 ...

  4. 计算机网络(2)-- URL、HTTP、HTTPS、HTML

    1.万维网WWW 万维网WWW(World Wide Web)是一个大规模的.联机式的信息储藏所,英文简称Web. 万维网用链接的方法能非常方便地从互联网上的一个站点访问另一个站点,从而主动地按需获取 ...

  5. django-模板之自动转义autoescape(八)

    index.html {{QQ}} views.py def index(request): context={ 'QQ':'<a href="http://www.qq.com&qu ...

  6. 如何用github搭建博客

    新建项目 创建仓库 仓库名称:一定要是你的用户名+github.io 如:用户名:zhangsan 那么仓库地址: zhangsan,github.io 打开新创建的仓库,点击settings 下拉至 ...

  7. ORM之单表操作

    ORM简介 MVC或者MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员的 ...

  8. 自定义segue的方向

    花了挺久时间,终于通过google在stake overflow上找到了解决方式. 总结一下:重写一个custom的segue,在storyboard的右边设置segue为custom,并设置其对应的 ...

  9. 【C#多线程】2.线程池简述+两种传统的异步模式

    线程池简述+两种传统的异步编程模式 1.线程池简述 首先我们要明确一点,编程中讲的线程与平时我们形容CPU几核几线程中的线程是不一样的,CPU线程是指逻辑处理器,比如4核8线程,讲的是这个cpu有8个 ...

  10. Netty 入门,这一篇文章就够了

    Netty是Java领域有名的开源网络库,特点是高性能和高扩展性,因此很多流行的框架都是基于它来构建的,比如我们熟知的Dubbo.Rocketmq.Hadoop等,针对高性能RPC,一般都是基于Net ...