原文地址: hiihl.com/articles/2018/1/10/dockermysql.md
本文主要記錄基于docker環(huán)境搭建mysql服務(wù)器的過(guò)程,由于我的服務(wù)器上幾個(gè)月前就已經(jīng)安裝過(guò)docker,本文不再講解如何安裝docker。
更新docker
由于之前安裝的docker版本是1.12.6,現(xiàn)在是17+,簡(jiǎn)單做了個(gè)升級(jí),可以參考CentOS7升級(jí)最新版本Docker
獲取鏡像
# docker pull 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
#
執(zhí)行docker run --rm -i -t -v /data/mysql/master/conf:/home/test mysql /bin/bash
,
再執(zhí)行cp /etc/mysql/my.cnf /home/test
將mysql配置文件copy一份到本地后exit退出,
如果不復(fù)制此配置文件,后面啟動(dòng)容器時(shí)掛載此配置文件將會(huì)報(bào)錯(cuò),提示my.cnf不是一個(gè)文件夾。
啟動(dòng)mysql
# cd /data/mysql/master
# docker run -p 127.0.0.1:3306:3306 --restart=always --name mysqlmaster -v $PWD/conf/my.cnf:/etc/mysql/my.cnf -v $PWD/logs:/logs -v $PWD/data:/mysql_data -e MYSQL_ROOT_PASSWORD=123456 -d mysql
60ce6e1508d69f53bdc4fcdf15cab851fac51f735533294383622acff1dc7b2b
# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
60ce6e1508d6 mysql "docker-entrypoint..." 3 seconds ago Up 2 seconds 0.0.0.0:3306->3306/tcp mysqlmaster
# docker exec -it mysqlmaster /bin/bash
root@60ce6e1508d6:/# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 6
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>
最后嘗試登陸mysql,啟動(dòng)并登陸成功。