容器数据卷 -- 挂载方式一:-v命令挂载

容器数据卷 -- 挂载方式一:-v命令挂载,第1张

容器数据卷 -- 挂载方式一:-v命令挂载

需求:如果数据都在容器中,那么我们容器删除,数据就会丢失。因此引来新技术容器卷。

数据卷的作用:容器的持久化和同步数据的 *** 作,并且容器间数据可以共享。

数据卷的好处:修改内容只需在本地修改而无须进入到容器内部进行修改。

使用数据卷: 方式一: 1、直接使用命令来挂载:-v 

-v /宿主机目录:容器内路径

-p 主机端口:容器内端口

例:docker run -it -v  /home/test:/home nginx  linux上的/home/test和容器中的/home进行挂在,实现数据共享,即在linux上的/home/test下添加或者编辑数据,容器内的home路径下同步内容(如果容器stop掉,数据依然同步)

docker attach 容器id               进入到正在运行的容器

docker inspect 72b49497fda7  查看容器的详细信息,如下信息说明挂在成功

"Mounts": [
            {
                "Type": "bind",
                "Source": "/home/test", 
                "Destination": "/home",
                "Mode": "",
                "RW": true,
                "Propagation": "rprivate"
            }

2、匿名挂载


-v  容器内路径
-P  随机指定端口
-it  后台运行且终端控制
docker run -it -P --name nginx_01 -v /etc/nginx nginx

3、具名挂载

 -v 数据卷名称:容器内路径
docker run -it -P --name nginx_02 -v nginx_v01:/etc/nginx nginx
#查看所有的数据卷
docker volume ls

 #查看某个卷的详细信息

 总结:所有的docker容器内的卷,当没有指定容器外的映射路径,默认的挂载路径为:

/var/lib/docker/volumes_data

安装mysql:

1、docker search mysql

2、docker pull mysql

3、运行mysql,设置用户名和密码

docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag
-d :后台运行-v 卷挂载--name 容器名字

-p 端口映射

-e 环境配置

ro  只读

rw  可读可写

docker run -d -p 3310:3306 -v /home/mysql/conf:/etc/mysql/conf.d --name some-mysql -e MYSQL_ROOT_PASSWORD=root --name root mysql:5.7

docker设置容器内的 *** 作权限:(也就是只能在宿主机上 *** 作)

docker run -it -P --name nginx_02 -v nginx_v01:/etc/nginx:ro nginx

docker run -it -P --name nginx_02 -v nginx_v01:/etc/nginx:rw nginx

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4830594.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-10
下一篇 2022-11-10

发表评论

登录后才能评论

评论列表(0条)

保存