数据卷的使用
数据卷概念
数据卷简单来讲就是一个目录,它是由Docker daemon 挂载到容器中的,因此数据卷并不属于联合文件系统,也就是说数据卷里面的内容不会因为容器的删除而丢失。Docker启动后,容器内的文件和宿主机是隔离的,如果不使用docker commit 操作提交容器为镜像把数据保存下来,数据就会因为容器的删除而丢失。
数据卷是宿主机中的一个目录或文件
当容器目录和数据卷目录绑定后,对方的修改会立即同步
一个数据卷可以被多个容器同时挂载
一个容器也可以被挂载多个数据卷
2、数据卷作用
docker默认容器关闭后数据就没了,如果不通过docker commit生成新的进行数据就会丢失。数据卷的作用就是将docker容器运行产生的数据持久化。
容器数据持久化
外部机器和容器间接通信
容器之间数据交换
3、配置数据卷
创建启动容器时,使用 –v 参数 设置数据卷
示例:
注意事项:
目录必须是绝对路径
如果目录不存在,会自动创建
可以挂载多个数据卷
容器中变量的使用
docker容器中的环境变量
docker能够为容器配置环境变量。配置的途径有两种:java
在制作镜像时,经过命令为镜像增加环境变量。在容器启动时使用该环境变量。
在容器启动时候,经过参数配置环境变量,若是与镜像中有重复的环境变量,会覆盖镜像的环境变量。
使用查看容器中生效的环境变量。
容器的端口映射
端口映射的原理
把容器的端口映射为宿主机的一个随机或者特定端口,使用外部用户可以访问容器服务
端口映射本是在容器底层做了 iptables 地址转发,出去的流量做 SNAT 源地址转发,进来的流量做 DNAT 目标地址转发。
docker中一共有四种端口映射:
随机端口映射:就是把容器的端口随机映射为宿主机的一个端口。
指定端口映射:就是把容器的端口映射为宿主机的指定端口。
指定网卡随机端口映射:就是把容器的端口映射为宿主机的指定网卡的随机端口。
指定网卡端口映射:就是把容器的端口映射为宿主机的指定网卡的指定端口。
随机端口映射(-P)
把 tomcat 容器 8080 的端口映射到宿主机的随机端口
指定端口映射(-p 宿主机端口:容器端口)
将 tomcat 容器的 8080 端口指定映射到宿主机的 8000 端口
领取专属 10元无门槛券
私享最新 技术干货