- 从仓库拉取一个MySql的镜像(该步骤可忽略,此时docker run会先去pull,然后再run)
docker pull mysql:5.6
- 启动一个容器
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 \
-v $PWD/conf:/etc/mysql/conf.d -v $PWD/data:/var/lib/mysql -v $PWD/logs:/logs \
--name test_mysql mysql:5.6
参数说明
-d 让容器在后台运行
-p 3306:3306 将容器的 3306 端口映射到主机的 3306 端口
-e 设置环境变量,这里是设置mysql的root用户的初始密码,这个必须设置
-v $PWD/conf:/etc/mysql/conf.d 将主机当前目录下的 conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf
-v $PWD/data:/var/lib/mysql 将主机当前目录下的data目录挂载到容器的 /var/lib/mysql
-v $PWD/logs:/logs 将主机当前目录下的 logs 目录挂载到容器的 /logs
–name 容器的名字,随便取,但是必须唯一
-
通过命令docker ps -a 查看刚刚创建的容器
这里我们可以看到我的容器状态的Up状态,表示容器正在运行,并且可以看到主机和容器的端口映射关系。
- 进入到刚刚创建的容器中
docker exec -ti test_mysql /bin/bash
参数说明
-t 在容器里生产一个伪终端
-i 对容器内的标准输入 (STDIN) 进行交互
容器中默认是没有vim的,所以我们首先要安装vim,需要注意的是安装前记得先执行apt update命令,不然安装会出现问题,具体请点击这里查看。
进入到mysql容器后,通过上面步骤中-e MYSQL_ROOT_PASSWORD设置的root账户的初始密码登录mysql。
查看默认的用户访问设置
如上,则可以在主机上直接通过mysql -h 127.0.0.1 -u root -p连接mysql。