1.docker-compose
通过一个单独的docker-compose.yml文件模板文件,来定义一组相关联的容器,实现多个相互关联的容器快速部署。
多个docker容器配置
depends_on 指定所依赖的容器,表示创建容器是先去创建所依赖的容器。
nginx容器是前端,前端依赖后端,后端依赖数据库mysql。
末尾的networks配置,表示网络标识。三个容器都加入了同一个网络hm-net, 不需要手动创建网络。compose会先创建网络hm-net,然后再完成容器与网络的连接。hm-net是网络的标识,创建网络的名字叫hmall。
docker compose up -d
-d表示后台运行
compose.yml就在当前目录,无需指定-f参数。-p 也可以不指定项目名称。
上面的hmall java web项目自动创建的镜像名是 root-容器名称。
查看网络的命令 docker network ls
问题:为啥要给容器创建并配置网络?
docker compose 还可以做集群部署,把java项目部署到多个不同的服务器,需要借助docker swarm实现多服务器的互连,然后再用docker compose去做部署,还可以部署多份项目实例做负载均衡。