服务端
$ docker pull mysql:5.7
$ docker run --name mymysql -p 3306:3306 -v /docker/mysql/data:/var/lib/mysql -v /docker/mysql/conf/my.cnf:/etc/mysql/my.cnf -e MYSQL_USER=ken -e MYSQL_PASSWORD=666666 -e MYSQL_ROOT_PASSWORD=666666 -d --privileged=true mysql:5.7
$ docker start mymysql
- -e MYSQL_USER=ken : 新增用户
- -e MYSQL_PASSWORD=666666 :新增密码
- -e MYSQL_ROOT_PASSWORD=666666 :root密码
- -v /docker/mysql/data:/var/lib/mysql :映射数据目录
- -v /docker/mysql/conf/my.cnf:/etc/mysql/my.cnf :映射配置文件
docker默认my.cnf
[mysqld]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
#log-error = /var/log/mysql/error.log
#bind-address = 127.0.0.1
symbolic-links=0
skip-host-cache
skip-name-resolve
[mysqldump]
quick
quote-names
max_allowed_packet = 16M
客户端
# 连容器
$ docker run -it --link mymysql:mysql --rm mysql sh -c 'exec mysql -h"$MYSQL_PORT_3306_TCP_ADDR" -P"$MYSQL_PORT_3306_TCP_PORT" -uroot -p"$MYSQL_ENV_MYSQL_ROOT_PASSWORD"'
# 连库
$ docker run -it --rm mysql mysql -h172.18.0.2 -uroot -p