按网上的方法:
docker run -d -p 3306:3306 –restart always -e MYSQL_ROOT_PASSWORD={password} –name db-mysql -v /docker/mysql/:/var/lib/mysql mysql/mysql-server
结果只会提示root用户无法登录,要构建一个完好的分离环境,应当按如下步骤:
1、首先建立一个docker容器,自动下载最新镜像。
docker run -d -p 3306:3306 –restart always -e MYSQL_ROOT_PASSWORD={password} –name db-mariadb docker.io/mariadb:latest
2、进入容器中进行配置mysql
docker exec -it db-mariadb bash
3、正常配置mariadb数据库
4、从容器中退出
exit
5、本机建立用于存放数据库文件的目录Docker
mkdir /Docker
6、将容器中数据文件拷出到本机
docker cp db-mariadb:/var/lib/mysql /docker/
7、停止原来的容器并删除
docker stop db-mariadb
dokcer rm db-mariadb
8、创建新容器,并进行目录挂载,注意系统中如果开启了selinux,一定要加上–privileged=true。
docker run -d -p 3306:3306 –restart always -e MYSQL_ROOT_PASSWORD={password} –name db-mariadb -v /docker/mysql:/var/lib/mysql –privileged=true mariadb
发表评论