数据卷
使用数据卷的目的:
使用的目的是为了实现数据的持久化操作(所谓Docker的数据持久化即数据不随着Container的结束而结束)
在容器退出的时候,能使得数据不丢失。
以mysql为例
docker run -it -v /mydatas(宿主机):/container/datas(容器) centos
在宿主机的文件夹(mydatas),对应的是容器中的/container/datas的文件夹之间建立一个通道,在一个文件夹里发生变化的时候也会导致另一个文件夹中的内容发生变化。
使用mysql数据卷操来实现数据的持久化过程
docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -v /mysql/datas(宿主机上存文件的地址):/var/lib/mysql --name my-mysql mysql:5.7.28
-
进入容器
docker exec -it <容器id> /bin/bash mysql -u root -p #进入mysql数据库控制台 # -u root 指定用户名为root # -p 指定密码
在退出这个容器之后,可以直接把这个容器进项删除操作,在之前步骤中对数据的操作会被保存在文件中。
-
再次使用这个mysql更改之后的文件进创建一个新的容器
在之后如果需要新建一个容器的话就可以直接运行
docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -v /mysql/datas(宿主机上存文件的地址):/var/lib/mysql --name my-mysql mysql:5.7.28
继续使用之间的文件数据,保证数据不丢失。
对nginx进行配置
docker run -p 80:80 -v /my-nginx/html/:/use/share/nginx/html nginx:1.17.7