Docker使用docker-compose运行springboot项目

1.安装docker-compose

curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

 2.修改docker-compose权限

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

3.查看docker-compose版本 

docker-compose --version

注:卸载docker-compose:

sudo rm /usr/local/bin/docker-compose

4. 按照该步骤编写Dockerfile文件,并把jar包生成镜像https://mp.csdn.net/mp_blog/creation/editor/125413777icon-default.png?t=M5H6https://mp.csdn.net/mp_blog/creation/editor/1254137775.新建docker-compose.yml文件

vim docker-compose.yml

docker-compose.yml内容:

        1.jar包打成的镜像名:版本号为hospital:1.0,指定生成的容器名为hospital_compose_pc

        2.容器卷挂载为/app/hopitalService:/data

        3.创建这些容器,使用一个专门的网桥,使这些容器可以互相通信

        4.

depends_on: 

      - redis

      - mysql  代表jar包打成的镜像要 后于mysql和redis创建容器

        5.command: redis-server /etc/redis/redis.conf代表指定以edis.conf配置文件运行redis

        6.MYSQL_USER: 'root'和MYSQL_PASSWORD: '123456'是对应的数据库账号密码

        7.mysql镜像要注意挂载容器卷

version: "3"

services:

  microService:

    image: hospital:1.0

    container_name: hospital_compose_pc

    ports:

      - "8002:8002"

    volumes:

      - /app/hopitalService:/data

    networks: 

      - atguigu_net 

    depends_on: 

      - redis

      - mysql

  redis:

    image: redis:6.2.6

    ports:

      - "6381:6381"

    volumes:

      - /app/redis/redis.conf:/etc/redis/redis.conf

      - /app/redis/data:/data

    networks: 

      - atguigu_net

    command: redis-server /etc/redis/redis.conf

  mysql:

    image: mysql:5.7

    environment:

      MYSQL_ROOT_PASSWORD: 'root'

      MYSQL_ALLOW_EMPTY_PASSWORD: 'no'

      MYSQL_DATABASE: 'hospital'

      MYSQL_USER: 'root'

      MYSQL_PASSWORD: '123456'

    ports:


       - "3307:3306"

    volumes:

       - /docker/mysql/log:/var/log/mysql 

       - /docker/mysql/conf/my.cnf:/etc/my.cnf

       - /docker/mysql/data:/var/lib/mysql

       - /docker/mysql/init:/docker-entrypoint-initdb.d

    networks:

      - atguigu_net

    command: --default-authentication-plugin=mysql_native_password #解决外部无法访问

networks: 

   atguigu_net: 

 6.在当前docker-compose目录下运行docker-compose

docker-compose up -d

Docker使用docker-compose运行springboot项目_第1张图片

暂停这几个容器的命令,可以一键暂停 不用一个一个stop

docker-compose stop

Docker使用docker-compose运行springboot项目_第2张图片 

 

你可能感兴趣的:(docker,docker,spring,boot,java)