原理:将容器内部的配置文件目录,挂载到宿主机指定目录下
它可以提供很多有用的特性:
①修改配置文件例如,nginx. conf /usr/local/nginx/ conf/nginx.conf —> /container_ nginx/ conf/nginx. conf
②容器内部产生的日志,如何收集将容器内部存方日志文件的目录挂载到宿主机指定目录下/container_ nginx/ log/access_ 1og/access_ log
③传入变量挂载到宿主机在宿主机上添加变量内容,将变量放入共享目录,在容器中/etc/profile 直接加载就可以
export xxdir=/data/data1/xx.
宿主机目录 /var/www 挂载容器中的 /data1
docker run -it -v /var/www/html:/data1 --name test1 centos:7 /bin/bash
验证:在容器目录下创建新文件,去宿主机上验证是否同步
验证:在宿主机上修改此文件,去容器目录下验证是否同步修改
docker run -it --name xjj -v /data1 -v /data2 centos:7 /bin/bash
注:-v 后面接的共享数据真实存放路径
[root@xjj html]# docker run -it --name db1 --volumes-from xjj centos:7 /bin/bash
[root@3fea8199ee77 /]# ls
anaconda-post.log data2 home media proc sbin tmp
bin dev lib mnt root srv usr
data1 etc lib64 opt run sys var
[root@3fea8199ee77 /]# touch data1/1.txt
[root@3fea8199ee77 /]# touch data2/2.txt
验证:
[root@xjj docker]# docker run -it --name xjj -v /data1 -v /data2 centos:7 /bin/bash
[root@441165bdb9ed /]# ls /data1
1.txt
[root@441165bdb9ed /]# ls /data2
2.txt
随便创建一个1.txt 2.txt文件就可以查看效果了
效果:上面例子中 db1 通过 xjj 来共享了数据
#linux 复制:
cp 原文件路径 目标文件路径
#容器:
docker cp /opt/abc 容器ID:/opt/abc
docker exec -it 容器ID /bin/bash -c 'nginx'
docker exec 容器ID/容器name 执行的命令
-p 自定义端口(宿主机端口: 容器内端口)
-P 随机端口 (-P 49153起始 49153到65535 )
docker run -itd -p 333:80 nginx /bin/bash (docker 0)
docker run- itd -P nginx /bin/bash
docker network create --subnet=172.18.0.0/16 mynetwork
docker run - itd --name test2 --het mynetwork --ip 172.18.0. 100 centos: latest /bin/bash
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/weixin_53560205/article/details/121570053
内容来源于网络,如有侵权,请联系作者删除!