Docker安装MySQL8.0.28
1.查看当前docker版本
[root@localhost local]# docker version
2.拉取指定版本的MySQL
[root@localhost /]# docker pull mysql:8.0.28
3.查看镜像是否拉取成功
[root@localhost /]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql 8.0.28 f2ad9f23df82 9 months ago 521MB
4.启动MySQL
[root@localhost /]# docker run -d --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql:8.0.28 --lower_case_table_names=1
参数解释:
-v:挂载宿主机目录和 docker容器中的目录,前面是宿主机目录,后面是容器内部目录。
-d:后台运行容器。
-p:映射容器端口号和宿主机端口号。
-e:环境参数,MYSQL_ROOT_PASSWORD设置root用户的密码。
–lower_case_table_names: 表名在硬盘上以小写保存,名称比较对大小写不敏感。
查看MySQL是否启动成功。
[root@localhost /]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
98ffcf09f9fa mysql:8.0.28 "docker-entrypoint.s…" 54 seconds ago Up 53 seconds 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp mysql
5.进入容器
[root@localhost /]# docker exec -it mysql bash
6.修改密码设置所有主机可以远程访问
root@98ffcf09f9fa:/# mysql -uroot -p
mysql> use mysql;
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
7.navicat测试远程连接

8.关闭和启动容器
#启动容器
[root@localhost bin]# docker start 98ffcf09f9fa
#停止容器
[root@localhost bin]# docker stop 98ffcf09f9fa
9.设置MySQL自动启动
docker update --restart=always mysql