docker volume持久化存储与数据分享
Posted soymilk2019
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker volume持久化存储与数据分享相关的知识,希望对你有一定的参考价值。
第一种
指定volume文件mysql存储,存储的位置为/var/lib/mysql
-v mysql:/var/lib/mysql
第二种
同步文件,将容器中的skeleton文件夹的内容同步到宿主机的skeleton文件夹
-v /soymilk/docker/skeleton:/skeleton (-v $(pwd):/skeleton)
实例一
docker run -d --name mysql1 -v mysql:/var/lib/mysql -e MYSQL_ALLOW_EMPTY_PASSWORD=true mysql 创建容器mysql1 (-e MYSQL_ALLOW_EMPTY_PASSWORD=true是为了不用创建root密码使用mysql) docker ps 看下我们的容器 docker volume ls 看下我们volume docker exec -it mysql1 /bin/bash 进入容器 mysql -u root show databases; create database docker1; exit exit 退出容器 docker rm -f mysql1 强制删除我们运行中的容器 docker run -d --name mysql2 -v mysql:/var/lib/mysql -e MYSQL_ALLOW_EMPTY_PASSWORD=true mysql 创建容器mysql2,并且使用以前的volume docker exec -it mysql2 /bin/bash 进入容器 mysql -u root show databases; 有我们在容器mysql1里边创建的docker1
实例二
创建Dockerfile的文件夹,新建里边的两个文件Dockerfile、index.html
mkdir nginx
Dockerfile
FROM nginx:latest
WORKDIR /usr/share/nginx/html
COPY index.html index.html
index.html
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>hello</title> </head> <body> <h1>Hello Docker! </h1> </body> </html>
build我们的image
docker build -t soymilk/nginx .
创建容器
docker run -d --name web -p 80:80 -v $(pwd):/usr/share/nginx/html soymilk/nginx
浏览器访问宿主机ip
修改宿主机的index.html
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>hello</title> </head> <body> <h1>Hello! </h1> </body> </html>
浏览器访问再次访问宿主机ip发现改变了
以上是关于docker volume持久化存储与数据分享的主要内容,如果未能解决你的问题,请参考以下文章