声明:本站文章均为作者个人原创,图片均为实际截图。如有需要请收藏网站,禁止转载,谢谢配合!!!

Docker Compose是一个用来定义和运行复杂应用的Docker工具。一个使用Docker容器的应用,通常由多个容器组成。使用Docker Compose不再需要使用shell脚本来启动容器。
Compose 通过一个配置文件来管理多个Docker容器,在配置文件中,所有的容器通过services来定义,然后使用docker-compose脚本来启动,停止和重启应用,和应用中的服务以及所有依赖服务的容器,非常适合组合使用多个容器进行开发的场景。

1. 安装DockerCompose

curl -L https://github.com/docker/compose/releases/download/1.23.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

2. 修改权限-增加执行权限

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

3. 自动补全命令

curl -L https://raw.githubusercontent.com/docker/compose/1.29.1/contrib/completion/bash/docker-compose > /etc/bash_completion.d/docker-compose

如果无法下载,则修改hosts文件

echo "199.232.68.133 raw.githubusercontent.com" >> /etc/hosts

4. 修改项目配置并打包

application.yml

spring:
  datasource:
    url: jdbc:mysql://mysql:3306/cloud_order?useSSL=false
    username: root
    password: 123
    driver-class-name: com.mysql.jdbc.Driver
  application:
    name: orderservice
  cloud:
    nacos:
      server-addr: nacos:8848 # nacos服务地址

pom.xml打包配置,统一为app.jar

<build>
  <!-- 服务打包的最终名称 -->
  <finalName>app</finalName>
  <plugins>
    <plugin>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-maven-plugin</artifactId>
    </plugin>
  </plugins>
</build>

打包后有3个app.jar(gateway userservice orderservice)

5. 放置jar文件并新增配置文件

gateway/
    app.jar
    Dockerfile
order-service/
    app.jar
    Dockerfile
order-service/
    app.jar
    Dockerfile
mysql/
    conf/
    data/
docker-compose.yml

Dockerfile文件

FROM java:8-alpine
COPY ./app.jar /tmp/app.jar
ENTRYPOINT java -jar /tmp/app.jar

docker-compose.yml

version: "3.2"

services:
  nacos:
    image: nacos/nacos-server:1.4.1
    environment:
      MODE: standalone
    ports:
      - "8848:8848"
  mysql:
    image: mysql:5.7.25
    environment:
      MYSQL_ROOT_PASSWORD: 123456
    volumes:
      - "$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"

6. 将上述文件打包上传至服务器,再解压到badianboke目录下

运行

docker-compose up -d

查看日志

docker-compose logs -f

全部重启

docker-compose restart

全部暂停

docker-compose stop

注:由于nacos可能再后面启动,导致其他服务无法正常连接到nacos,因此需要重启其他服务

docker-compose restart gateway orderservice userservice