步骤:
① 搜索 mysql 镜像
② 拉取 mysql 镜像
③ 创建 mysql 容器
④ 操作容器中的 mysql
# ① 搜索镜像
sudo docker search mysql
# ② 拉取镜像
sudo docker pull mysql
# 或者拉取指定版本
# sudo docker pull mysql:5.6
# 创建一个mysql文件夹
mkdir ~/mysql
cd ~/mysql
# ③ 在mysql文件夹下,创建 mysql 容器
sudo docker run -id -p 3306:3306 --name=c_mysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=xuhongduo mysql:latest
# 代码解释:
# -p 3306:3306: 将容器的 3306 端口映射到主机的 3306 端口(MySQL 的默认端口)。
# --name=c_mysql: 将容器命名为 "c_mysql"。
# -v $PWD/conf:/etc/mysql/conf.d: 挂载配置文件目录到容器内的 /etc/mysql/conf.d 目录中,使 MySQL 服务器可以加载该目录下的配置文件。
# -v $PWD/logs:/logs: 挂载日志目录到容器内的 /logs 目录中,使 MySQL 服务器的日志可以存储到该目录下。
# -v $PWD/data:/var/lib/mysql: 挂载数据目录到容器内的 /var/lib/mysql 目录中,使 MySQL 服务器的数据可以存储到该目录下。
# -e MYSQL_ROOT_PASSWORD=xuhongduo: 设置 MySQL 服务器的 root 用户密码为 "xuhongduo"。
创建完成后,进入 mysql 容器
sudo docker exec -it c_mysql /bin/bash
登录 mysql
mysql -u mysql -p
# ④ 操作容器中的 mysql
# 展示所有数据库
show databases;
SQLyog 为本地的软件,而非 Ubuntu虚拟机中软件,我们尝试通过 SQLyog 连接 docker 容器中的mysql,其他支持连接数据库的软件也可:
1、首先, Terminal 中查看宿主机的ip地址,即Ubuntu的ip地址:
ip addr
找到 inet
开头的一行 ,一般以 192. 开头,复制;
2、打开 SQLyog,创建新的连接:
Host Address 写宿主机的 ip 地址,密码和端口根据刚才的设定填入。
测试连接 --> 测试成功! --> 连接!
完成!