DockerCompose的介绍以及使用docker-compose部署微服务

1.什么是DockerCompose

Docker Compose可以基于Compose文件帮我们快速的部署分布式应用,而无需手动一个个创建和运行容器,分布式部署的帮手
Compose文件:是一个文本文件,通过指令定义集群中的每个容器如何运行。

(1)下载或上传dockerCompose到/usr/local/bin目录下
DockerCompose的介绍以及使用docker-compose部署微服务_第1张图片
(2)查看下载docker-compose文件
DockerCompose的介绍以及使用docker-compose部署微服务_第2张图片
(3)此时的docker-compose没有执行权限,执行下面指令添加执行权限

chmod +x /usr/local/bin/docker-compose

DockerCompose的介绍以及使用docker-compose部署微服务_第3张图片
(4)下载Base自动补全命令
curl -L https://raw.githubusercontent.com/docker/compose/1.29.1/contrib/completion/bash/docker-compose > /etc/bash_completion.d/docker-compose
如果执行错误或者下载缓慢,有可能是域名解析错误,可以修改host文件,添加一下域名映射IP
echo “199.232.68.113 raw.githubusercontent.com” >> /etc/hosts
在这里插入图片描述

2.使用docker-compose部署微服务

(1)准备几个服务,user-service、order-service和gateway服务,服务依赖于mysql,目录如下
DockerCompose的介绍以及使用docker-compose部署微服务_第4张图片
(2)将服务打包成jar包,并创建dockerfile文件,目录如下
DockerCompose的介绍以及使用docker-compose部署微服务_第5张图片
(3)dockerFile文件
DockerCompose的介绍以及使用docker-compose部署微服务_第6张图片
(4)docker-compose配置文件

version: "3.2"

services:
  nacos:
    image: nacos/nacos-server
    environment:
      MODE: standalone
    ports:
      - "8848:8848"
  mysql:
    image: mysql:5.7.25
    environment:
      MYSQL_ROOT_PASSWORD: 123
    volumes:
 # pwd表示docker-compose所在的当前位置
      - "$PWD/mysql/data:/var/lib/mysql"
      - "$PWD/mysql/conf:/etc/mysql/conf.d/"
  userservice:
    build: ./user-service
  orderservice:
    build: ./order-service
  gateway:
    build: ./gateway
    ports:
      - "10010:10010"

(5)上传项目到tmp目录下
DockerCompose的介绍以及使用docker-compose部署微服务_第7张图片
(6)使用docker-compose构建镜像和容器,启动服务
docker-compose up -d
由于服务镜像同步启动,nacos没有启动,服务访问不到nacos会启动失败,需要重新启动。或者部署的时候先部署nacos服务,再部署其它服务。

你可能感兴趣的:(docker)