docker 数据持久化
数据持久化
1.停止并删除之前的容器

2.数据持久化的方案
- 绑定挂载的Volume:真实去存储数据,可以指定Volume位置(数据持久化)
- dataVolume,指定一个共享目录(数据共享)
3.Volume
- 创建并启动mysql,密码设置为空

- 查看所有的valume

- 查看volume详细信息,可以找到具体目录

- 停止并删除了mysql容器

- 再次查看目录,数据持久化成功

- volume默认存储名字不太好看
- 删除不被引用的volume

- 创建容器,将容器中/var/lib/mysql目录下所有数据持久化

- 进入目录,查看数据

- 交互运行容器,进入mysql

- 创建database,退出mysql和容器

停止并删除mysql1

13.创建一个新的mysql容器,使用之前的volume进行数据恢复
![]()
14.交互运行mysql,查看到数据已经恢复
![]()

bind mouting
指定一个与容器同步的目录,容器或者目录变化,变化的内容都会同步
1.创建并进入一个目录
![]()
2.编辑一个文件

3.编写Dockerfile

4.构建image
![]()
5.使用image启动容器
![]()
6.目前还没有实现共享目录
7.开启并实现共享目录
![]()
8.在容器里创建test.txt

9.本地修改文件,容器内文件内容也更改了

docker部署wordpress
1.停止并删除之前的容器

2.将dockerHub上的mysql和wordpress拉取到本地,注意mysql下5.5的
![]()
![]()
3.若有latest版本,将之前的latest版本删掉
![]()
![]()
4.将5.5版本标记为latest
![]()
5.创建mysql的容器
![]()
6.创建wordpress容器
![]()
7.通过浏览器访问8080端口即可
思考问题:
用了mysql和wordpress两个容器
步骤:下载20个image
运行20个容器
docker-compose介绍
多容器APP很难部署和管理,docker-compose类似于批处理,是一个命令行工具,docker-compose.yml
docker-compose里重要的概念:Services Networks Volumes
Services:相当于container
Networks:相当于使用的网络
Volumes:数据持久化
docker-compose安装和使用
下载docker-compose
![]()
赋权限
![]()
查看版本
![]()
编辑compose文件
![]()
#版本
version: '3'
services:
wordpress:
image: wordpress
networks:
#版本
version: '3'
services:
wordpress:
image: wordpress
#版本
version: '3'
services:
wordpress:
image: wordpress
ports:
- 8080:80
environment:
WORDPRESS_DB_HOST: mysql
WORDPRESS_DB_PASSWORD: admin
networks:
- my-bridge
mysql:
image: mysql:5.5
environment:
MYSQL_ROOT_PASSWORD: admin
MYSQL_DATABASE: wordpress
volumes:
- mysql-data:/var/lib/mysql
networks:
- my-bridge
volumes:
mysql-data:
networks:
my-bridge:
driver: bridge
启动compose
![]()
停止并删除

启动并后台运行
![]()
更改service版本和端口
创建并查看网络

创建应用,使用nginx1.12版本
![]()
写一个shell,不停访问curl 127.0.0.1
![]()
在另一个会话,去升级应用的版本
![]()
在另一个会话,更改访问端口
![]()
本文深入探讨Docker数据持久化方法,包括Volume的创建与使用,以及bind mounting实现数据共享。同时,介绍了如何利用Docker Compose简化多容器应用的部署与管理,涵盖Compose文件配置、网络设置及服务定义。
489

被折叠的 条评论
为什么被折叠?



