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