Docker为容器挂载一个网段与容器挂载host

Docker为容器挂载一个网段与容器挂载host

docker-compose logs -f # 实时打印docker-compose logs -f   实时打印日志
ocker-compose up -d  
docker network ls  
docker network create --driver bridge myftp  # 创建网络模式为bridge的网桥myftp
docker inspect 8c2b31f5afe0

在这里插入图片描述

1、挂载自定义的外部网桥myftp

version: "2"
services:
  nginx: # 服务名称,用户自定义
    image: nginx:latest  # 镜像版本
    ports:
      - 8080:8080  # 暴露端口
    volumes: # 挂载z
      - /root/nginx/html:/usr/share/nginx/html
      - /root/nginx/conf/nginx.conf:/etc/nginx/nginx.conf
    privileged: true # 这个必须要,解决nginx的文件调用的权限问题

  vsftpd:
    image: vsftpd:myftp
      # 指定构建目录,可以使用相对路径
    build: ./vsftpd
    ports:
      - 2020:20
      - 2121:21
      - 21100-21110:21100-21110
    volumes:
      - /home/vsftpd/ftp/:/home/vsftpd/zhangsan/
    restart: always
    networks:
      - myftp

  application:
    image: application:latest
    build: . # 表示以当前目录下的Dockerfile开始构建镜像
    ports:
      - 8090:8090
      - 31100-31110:31100-31110
    volumes:
      - /root/work_projects/upLoadAndDown/logs:/logs
    depends_on:
      - vsftpd
      - nginx
# 在docker-compose中声明外部网桥myftp,vsftp才能够用
networks:
  myftp:
    external: true

2、挂载网络到host上,以host网络模式,容器与宿主机同IP

version: "2"
services:
  nginx: # 服务名称,用户自定义
    image: nginx:latest  # 镜像版本
    ports:
      - 8080:8080  # 暴露端口
    volumes: # 挂载z
      - /root/nginx/html:/usr/share/nginx/html
      - /root/nginx/conf/nginx.conf:/etc/nginx/nginx.conf
    privileged: true # 这个必须要,解决nginx的文件调用的权限问题

  vsftpd:
    #由于指定网络模式为host,与宿主机同IP和端口号
    network_mode: "host"
    image: vsftpd:myftp
      # 指定构建目录,可以使用相对路径
    build: ./vsftpd
    volumes:
      - /home/vsftpd/ftp/:/home/vsftpd/zhangsan/
    restart: always
    networks:
      hostnet: {}

  application:
    image: application:latest
    build: . # 表示以当前目录下的Dockerfile开始构建镜像
    ports:
      - 8090:8090
      - 5006:5006
      - 31100-31110:31100-31110
    volumes:
      - /root/work_projects/localVsftp:/localVsftp
      - /root/work_projects/upLoadAndDown/logs:/logs
      - /root/work_projects/upLoadAndDown/config:/config
    depends_on: 
      - vsftpd
      - nginx

networks:
  hostnet:
    name: host
    external: true

Linux上抓包命令的使用:https://zhuanlan.zhihu.com/p/74812069

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值