1. 拉取mysql镜像
docker pull mysql:5.6
2. 在/root目录下创建mysql目录,用于存储mysql数据信息
mkdir /root/mysql
3. 进入mysql目录,直接粘贴下面的命令并运行。
docker run -id -p 3306:3306 --name=c_mysql -v /root/mysql/conf:/etc/mysql/conf.d -v /root/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.6
参数说明:
- docker run -id:创建名字为c_mysql的容器,并在后台启动。
- -p 3306:3306:由于外部不能直接访问容器,而宿主机可以访问容器,且外部可以访问宿主机,所以我们可以通过宿主机对容器进行端口映射,实现外部间接访问容器。3306为宿主机端口号,3306为容器端口号。
- -v … :用于配置数据卷,实现宿主机和容器之间的数据同步。($PWD表示当前目录,即/root/mysql)
- -e MYSQL_ROOT_PASSWORD=123456:初始化root用户的密码。
4. 进入c_mysql容器中:docker exec -it c_mysql /bin/bash ,输入:mysql -uroot -p123456 ,发现已经可以登录成功了!
5. 接下来我们就可以使用Navicat来远程连接宿主机的mysql,主机号是宿主机的ip,端口号是3307,密码是123456。
连接成功!!!
因为我们前面已经做了端口映射,所以可以实现在外部机器操作容器中的mysql。我们来验证一下:
用Navicat在mysql中新建一个数据库kkk
回到容器,查看所有数据库,发现有数据库kkk