容器中的数据在容器重新启动的时候就会丢失,也就是你所有的操作都会被重置,这个有好处也有坏处,好处就不多说了,坏处就是,比如,mysql数据库类的容器,你一重启,我一天数据都没了,我找谁哭去?所以docker给我提供了持久化存储的方法, 今天我们看一种,存储在本机的方式:
首先,我们在容器所在主机创建一个目录
1 |
mkdir -p /var/local/mysql |
然后,我们修改一下相应的SELinux
1 |
chcon -R -t svirt_sandbox_file_t /var/local/mysql |
修改文件夹所属
1 |
chown -R mysql:mysql /var/local/mysql |
以上都是为了让容器用户能够读写文件
好,开始下载镜像
1 |
docker pull do276/mysql-55-rhel7 |
启动镜像
1 2 3 4 5 |
docker run --name persist-mysqlddb \ -d -v /var/local/mysql:/var/lib/mysql/data \ -e MYSQL_USER=user -e MYSQL_PASSWORD=123455 \ -e MYSQL_DATABASE=items -e MYSQL_ROOT_PASSWORD=abc \ do276/mysql-55-rhel7 |
这个时候,我们就把本机的目录挂载到了容器中,这个时候,我们本机的目录中应该就已经有数据了,容器重启也会存在的….
棒棒哒
Latest posts by Zhiming Zhang (see all)
- aws eks node 自动化扩展工具 Karpenter - 8月 10, 2022
- ReplicationController and ReplicaSet in Kubernetes - 12月 20, 2021
- public key fingerprint - 5月 27, 2021