三、Docker目录挂载、卷映射、网络

  • 目录挂载

如果主机目录为空,则容器内也为空

-v表示目录挂载 冒号前面的是主机上的目录,冒号后面的是docker容器里面的地址

修改主机上的文件,发现docker容器里面的内容也随之改变。 同样修改docker容器里面的内容,主机上的文件内容也随之改变。

  • 卷映射
    a )跟目录挂载不同的是,卷映射时以容器内的文件为准。容器内有内容,则把容器内的内容映射到主机的卷上。
    目录挂载时,如果主机没有内容,则容器对应的位置也没有内容。
    b) 卷映射命令与目录挂载一样,也是用-v。用卷名称(不能用./或者/等路径字符)。 映射的文件对应的目录在/var/lib/docker/volumes/{卷名称}

    docker volume 查看卷的信息
  • docker网络
    docker机制:每一个容器启动时都会加入docker创建的网络docker0。docker为每一个创建的容器分配一个ip,容器之间可以通过分配的ip+容器内部端口互相访问。
    ip a 命令查看网络

    创建两个应用,放在两个容器中。查看这两个应用的网络信息




    docker 创建的网络。网关为172.17.01.
    此时app1服务的docker网络ip为172.17.02. 服务端口为80(docker容器端口), app2服务的docker网络ip为172.17.03,服务端口为80(docker容器端口,而非外部访问端口). 这时进入app1中访问app2服务 curl http://172.17.03:80 即可

    自定义网络
    使用docker创建的网络的问题:容器每次创建后,ip是可以变的。 通过ip访问,容器之前的访问会错乱。因此我们需要自定义网络,容器创建时指定自定义的网络,容器名作为容器的域名来访问。

创建自定义网络mynet

创建容器应用指定mynet网络



此时,进入app1服务,访问app2. http://app2:80 (域名即ip)

相关推荐
longze_717 分钟前
frp内网穿透下创建FTP(解决FTP“服务器回应不可路由的地址。使用服务器地址替代”错误)
运维·服务器·网络
亲爱的非洲野猪38 分钟前
关于k8s Kubernetes的10个面试题
云原生·容器·kubernetes
cui_win1 小时前
【网络】Linux 内核优化实战 - net.ipv4.tcp_keepalive_time
linux·网络·tcp/ip
令狐掌门1 小时前
tcp长连接与短连接
网络·网络协议·tcp/ip
西京刀客1 小时前
k8s之configmap
云原生·容器·kubernetes
zhysunny2 小时前
WebSocket实战:实现实时聊天应用 - 双向通信技术详解
网络·websocket·网络协议
hhh123987_3 小时前
以太网基础⑤UDP 协议原理与 FPGA 实现
网络·网络协议·udp
灰海3 小时前
封装WebSocket
前端·网络·websocket·网络协议·vue
极限实验室3 小时前
一键启动:使用 start-local 脚本轻松管理 INFINI Console 与 Easysearch 本地环境
数据库·docker
W111115_3 小时前
网络综合实验
linux·运维·服务器·网络