在使用docker run 运行镜像获取容器时,有些容器会自动产生一些数据,为了这些数据不会因为container (容器)的消失而消失,保证数据的安全,比如mysql 容器在运行中产生的一些表的数据,有一天我如果使用docker rm 将容器删除那么数据就丢失了。为了这个原因就就的将容器中的目录挂载到宿主机,以保证数据的安全
首先在docker hub中pull mysql 镜像
其次创建mysql持久化文件目录:通常只需要data 和conf
启动容器
docker run --name xxx -p 3306:3306 --mount tyoe=bind,src=/usr/local/src/data,dst=/var/lib/mysql --mount type=bind,src=/usr/local/src/conf/my.cnf,dst=/etc/my.cnf -e MYSQL_ROOT_PASSWORD="*******" -d mysql --character-ser-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
--name :设置启动容器的名字
--mount 绑定数据目录和服务器配置文件
-p 端口映射 格式为: 宿主机端口:容器端口
-e MYSQL_ROOT_PASSWORD 设置数据库密码
--chaeacter-set-server 设置编码
--collation-server 设置编码
检查配置信息docker inspect xxx
在输出的json格式中找到
mounts 简直查看source he target 的值是否为mount 绑定的目录