1、构建Dockerfile ,路径 /root/mysql
1 FROM hub.c.163.com/library/mysql:5.7 2 #作者信息 3 MAINTAINER lsj 4 #修改编码方式 5 RUN echo "character-set-server=utf8" >> /etc/mysql/mysql.conf.d/mysqld.cnf 6 RUN service mysql restart 7 EXPOSE 3306
2、到Dockerfile所在文件夹,执行
1 [root@localhost mysql]# docker build -t mysql:5.7 .
3、启动容器
1 [root@localhost mysql]# docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql
--name为mysql的实例设置别名。 -p 3307为对外暴露的端口,3306是内部端口 -e MYSQL ROOT_PASSWORD 设置mysql登录密码 -d 以守护进程运行(后台运行)最后的mysql是镜像名称
4、查看容器
5、进入容器
6、修改MySQL
1 查看 user 表中的信息。 2 select host,user,plugin,authentication_string from mysql.user; 3 4 host 列中的 % 表示不限制 IP 。 5 localhost 表示的是本机使用。 6 plugin 非 mysql_native_password 则需要修改密码。 7 8 SQL 语句: 9 alter user 'root'@'% 'IDENTIFIED WITH mysql_native_password BY '123456'; 10 最后刷新生效:flush privileges;