Docker 安装mysql5.7

原创 2017年12月27日 00:35:14

1 安装

 docker pull docker.io/mysql

[root@iZuf6boi8ejfovwda7q1ynZ ~]# docker pull docker.io/mysql
Using default tag: latest
Trying to pull repository docker.io/library/mysql ... 
latest: Pulling from docker.io/library/mysql
f49cf87b52c1: Pull complete 
78032de49d65: Pull complete 
837546b20bc4: Pull complete 
9b8316af6cc6: Pull complete 
1056cf29b9f1: Pull complete 
86f3913b029a: Pull complete 
4cbbfc9aebab: Pull complete 
8ffd0352f6a8: Pull complete 
45d90f823f97: Pull complete 
ca2a791aeb35: Pull complete 
Digest: sha256:1f95a2ba07ea2ee2800ec8ce3b5370ed4754b0a71d9d11c0c35c934e9708dcf1


2 启动
[root@iZuf6boi8ejfovwda7q1ynZ ~]# docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql
3c995c988a94ce38a5ade6dcce7cc9168b349051ec51dc5e8a11c8f210658c04

如果需要把数据存储在宿主机器 加参数-v

[root@iZuf6boi8ejfovwda7q1ynZ home]# docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -v /home/mysql/data:/var/lib/mysql -v /home/mysql/my.cnf:/etc/mysql/my.cnf -d mysql
/usr/bin/docker-current: Error response from daemon: Conflict. The name "/mysql" is already in use by container 3c995c988a94ce38a5ade6dcce7cc9168b349051ec51dc5e8a11c8f210658c04. You have to remove (or rename) that container to be able to reuse that name..
See '/usr/bin/docker-current run --help'.
有容器用了mysql这个名称,需要先停止,再删除镜像
[root@iZuf6boi8ejfovwda7q1ynZ home]# docker ps
CONTAINER ID        IMAGE                               COMMAND                  CREATED             STATUS                  PORTS                                                             NAMES
3c995c988a94        mysql                               "docker-entrypoint.sh"   8 hours ago         Up 8 hours              0.0.0.0:3306->3306/tcp                                            mysql
[root@iZuf6boi8ejfovwda7q1ynZ home]# docker stop mysql
mysql
[root@iZuf6boi8ejfovwda7q1ynZ home]# docker rm mysql
mysql
再次启动
[root@iZuf6boi8ejfovwda7q1ynZ home]# docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -v /home/mysql/data:/var/lib/mysql -v /home/mysql/my.cnf:/etc/mysql/my.cnf -d mysql
a086c00b114a744e5f3b9f64357aef15e46cc7face8dca0878be37e34e0eb240
/usr/bin/docker-current: Error response from daemon: invalid header field value "oci runtime error: container_linux.go:247: starting container process caused \"process_linux.go:364: container init caused \\\"rootfs_linux.go:54: mounting \\\\\\\"/home/mysql/my.cnf\\\\\\\" to rootfs \\\\\\\"/var/lib/docker/devicemapper/mnt/54b2f88d4d6b504e68cdc8dc41e9bf229ecc739bbdce4e23b1253cec6ea62e1e/rootfs\\\\\\\" at \\\\\\\"/var/lib/docker/devicemapper/mnt/54b2f88d4d6b504e68cdc8dc41e9bf229ecc739bbdce4e23b1253cec6ea62e1e/rootfs/etc/mysql/mysql.cnf\\\\\\\" caused \\\\\\\"not a directory\\\\\\\"\\\"\"\n".
[root@iZuf6boi8ejfovwda7q1ynZ home]# docker ps
CONTAINER ID        IMAGE                               COMMAND                  CREATED             STATUS                  PORTS                                                             NAMES
[root@iZuf6boi8ejfovwda7q1ynZ home]# docker ps -a
CONTAINER ID        IMAGE                               COMMAND                  CREATED             STATUS                    PORTS                                                             NAMES
a086c00b114a        mysql                               "docker-entrypoint.sh"   38 seconds ago      Created                                                                                     mysql
再次启动发现,没有配置文件/home/mysql/my.cnf  但是容器还是创建成功了
[root@iZuf6boi8ejfovwda7q1ynZ home]# docker rm mysql
mysql
[root@iZuf6boi8ejfovwda7q1ynZ home]# docker ps -a
CONTAINER ID        IMAGE                               COMMAND                  CREATED             STATUS                    PORTS                                                             NAMES
[root@iZuf6boi8ejfovwda7q1ynZ home]# docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -v /home/mysql/data:/var/lib/mysql -d mysql
825f0c86efe9fa16e909ac2444ae077a8c68667b3ae6760220971d6f2cda5f19
[root@iZuf6boi8ejfovwda7q1ynZ home]# 
所以还是需要删除镜像,重新启动,简单点把配置文件去掉就好了


3 进入容器
[root@iZuf6boi8ejfovwda7q1ynZ ~]# docker exec -it mysql  bash
root@3c995c988a94:/# mysql                                                                                                                                                                                                 
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

4 进入客户端

[root@3c995c988a94:/# mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.7.20 MySQL Community Server (GPL)


Copyright (c) 2000, 2017, 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> select version(); 
+-----------+
| version() |
+-----------+
| 5.7.20    |
+-----------+
1 row in set (0.00 sec)




docker拉取mysql镜像遇到到问题及解决

直接通过docker拉取镜像遇到的问题:熟悉的timeout!!!
  • w_bu_neng_ku
  • w_bu_neng_ku
  • 2017年12月10日 15:57
  • 99

Docker 使用方法总结之:镜像

查找 命令:docker search [OPTIONS] TERM 相关参数: Search the Docker Hub for images   --automated=false   ...
  • sun7545526
  • sun7545526
  • 2015年05月02日 21:00
  • 3463

docker容器扫盲

Centos 6.5 安装和使用docker基于本人一贯的习惯,关于“某某某是什么”这样的问题,请百度吧,会有更专业的人士,会比我说的更详细更深,这里我只给出本人亲历的安装和使用过程。1.安装先检查服...
  • socho
  • socho
  • 2016年07月22日 21:55
  • 8144

docker 自测试

1. 测试 root@iZ232ngsvp8Z:~# docker run hello-world   Hello from Docker. This message shows that your ...
  • huguangshanse00
  • huguangshanse00
  • 2016年09月09日 06:54
  • 2846

Docker尝鲜之Airflow快速安装

Docker尝鲜之Airflow快速安装 个人初步理解使用Docker应该尽量满足数据和应用隔离,数据尽量有mount在宿主机上;另外,与虚拟机相比,容器有一个很大的差异,它们被设计用来运行单进程...
  • wendingzhulu
  • wendingzhulu
  • 2016年12月01日 07:06
  • 6055

安装docker失败记录

  • Feng______
  • Feng______
  • 2016年05月28日 14:11
  • 5838

Docker系列之(一):10分钟玩转Docker

Error response from daemon: Get https://index.docker.io 1、前言 进入云计算的时代,各大云提供商AWS,阿里云纷纷推出针对Docker的服...
  • haiyang4988
  • haiyang4988
  • 2016年12月09日 13:48
  • 1519

docker registry_v2 部署过程中遇到的坑

docker registry_v2 docker registry_v2的搭建和排错文档,nginx+registry源码搭建,有别于网上类docker的搭建方法,方便registry日后调优 搭建...
  • xiaolummhae
  • xiaolummhae
  • 2016年07月05日 17:37
  • 4373

Dockerfile 官方文档

原文地址:https://docs.docker.com/engine/reference/builder/#escape用法:docker build 命令从Dockerfile文件和上下文环境(c...
  • xvjianzhe
  • xvjianzhe
  • 2017年04月29日 14:40
  • 1177

Docker学习笔记(六)-fixbug3-docker安装Tensorflow的问题

docker安装 Tensorflow遇到问题i/o timeout.docker: Error response from daemon: Get https://gcr.io/v1/_ping: ...
  • Chenming_Hnu
  • Chenming_Hnu
  • 2017年01月18日 12:53
  • 3265
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Docker 安装mysql5.7
举报原因:
原因补充:

(最多只允许输入30个字)