你应该换dockercompose来配置network,然后用容器名称来访问
version: "3.5" #版本号
services: #定义服务
wscp-nginx: #定义第一个nginx服务名称
image: wscp-nginx #定义镜像
networks: #设置网络
- wscp-network #加入wscp-network进行互联
ports:#映射容器内部端口
- "8080:80"
container_name: wscp-nginx#定义容器名称
depends_on:#容器需要在wscp-back启动后再进行启动
- wscp-back
wscp-redis:#redis服务
image: wscp-redis#使用redis镜像
networks:#加入wscp-network网络
- wscp-network
container_name: wscp-redis#设置容器名称
wscp-back:#主要的java程序服务
image: wscp-back#本地java程序镜像
container_name: wscp-back#容器名称
volumes:#挂载容器目录到本地目录,左边本地;右边容器
- "./download_temp:/wscp_project/back_end/download_temp"
- "./upload_formal:/wscp_project/back_end/upload_formal"
networks:#加入wscp-network网络
- wscp-network
networks:#添加一个新网络
wscp-network:#网络名称为wscp-network
driver: bridge#使用桥接方式
上面这个例子,全局networks加了一个wscp-network,然后在其他容器上面加入wscp-network
这样三个容器会在各自的hosts文件中自动添加解析,比如wscp-back就会添加wascp-back 10.2.1.1
你不放心的话可以直接进容器内部ping某个容器名称检验就知道了,但是一定要注意,nginx的容器一定要最后再启动
|