DockerCompose案例

我们当前有gateway、order-service、user-service三个微服务,统一都使用mysql数据库
首先根据服务名新建三个目录gateway、order-service、user-service,以及新建docker-compose.yml文件,结构如下


image.png

在每个目录下放入相应打包好的微服务,以及Dockerfile文件


image.png

Dockerfile文件内容如下示例
FROM java:8-alpine
COPY ./gateway.jar /home/gateway.jar
EXPOSE 8080
ENTRPYPOINT java -jar /home/gateway.jar

编写docker-compose.yml文件

version: "3.2"
services:
    nacos:
        image: nacos/nacos-server
        environment:
            MODE: standalone
        ports:
            - "8848:8848"
    mysql:
        image: mysql:8.0.35
        container_name: mysql3306
        ports:
            - '3306:3306'
        environment:
            MYSQL_ROOT_PASSWORD: "root"
                MYSQL_USER: 'root'
                MYSQL_PASS: 'root'
        volumes:
            - '/home/docker/mysql3306/log:/var/log/mysql'
            - '/home/docker/mysql3306/data:/var/lib/mysql'
            - '/home/docker/mysql3306/conf:/etc/mysql'
            - '/etc/localtime:/etc/localtime'
    gateway:
        build:
            context: ./gateway
            dockerfile: Dockerfile
        ports: 
            - "8080:8080"
    userservice:
        build:
            context: ./user-service
            dockerfile: Dockerfile
    orderservice:
        build:
            context: ./order-service
            dockerfile: Dockerfile

在docker-compose.yml文件下执行命令

# 启动
docker-compose up -d
# 重启某些服务命令
docker-compose restart gateway userservice orderservice

注意
通过DockerCompose集群部署的微服务中,微服务中的服务访问地址需改成docker服务名称,例子:


image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容