1. 下载官方mysql:5.7镜像
docker pull docker.io/mysql/mysql-server:5.7
2. 查看刚下载的镜像
docker image ls
3. 运行mysql实例
docker run -d -p 3306:3306 --name mysql_flask --privileged=true -e mysqld -e MYSQL_ROOT_PASSWORD=cisco123! -e MYSQL_USER=flask -e MYSQL_PASSWORD=flask -e MYSQL_DATABASE=flaskDB -v /docker/mysql/data/flask:/var/lib/mysql docker.io/mysql/mysql-server:5.7
【参数说明】
-d
在后台运行此容器,不进入容器内部
-p 3306:3306
映射host的端口到容器的端口,以便外部访问容器
--name mysql_flask
给容器取名,否则随机生成
--privileged=true
如果挂载容器的目录到host上,一定要增加该选项,
否则会报/var/lib/mysql/权限错误(通过 “docker container logs 容器名” 查看)
-e mysqld
容器内mysqld服务随容器启动而启动
-e MYSQL_ROOT_PASSWORD=cisco123!
设置mysql的root的密码,必选
-e MYSQL_USER=flask
给mysql增加一个用户(非root用户)
-e MYSQL_PASSWORD=flask
给上面增加的用户设置密码
-e MYSQL_DATABASE=flaskDB
容器运行后,立即创建一个数据库,可以通过新增的用户和密码访问
-v /docker/mysql/data/flask:/var/lib/mysql
映射host的目录到容器内部,即挂载容器的目录到host上
4. 查看容器运行状况:一切正常
docker container ls
5. 等待状态改变
docker container ls
6. 测试
在容器所在的host上,敲入以下命令
docker container exec -it mysql_flask mysql -uroot -pcisco123!
在另一台安装mysql_client的pc上,敲入以下命令
mysql -h 10.74.53.141 -P 3306 -u flask -pflask