Docker Compose的安装以及编排启动项目

我们假设,现在有一个java项目,其中用到了mysql和redis服务。

现在我们要将它打包上传到docker制作成镜像,那么一般来讲,我们分为下面这几步:

        1、打包项目为jar包,并上传到linux(docker)

        2、编写Dockerfile文件,指定jdk镜像以及ENTRYPOINT等命令

        3、docker build构建镜像以及docker run启动容器

        4、指定数据卷运行mysql以及redis容器

但是这样子的启动非常麻烦,如果服务很多的话,一个一个的启动十分浪费时间,所以我们要docker compose这个工具帮助启动容器

一:安装docker compose

1.直接复制官网的命令:

官网地址:https://www.docker.com/

 

curl -SL https://github.com/docker/compose/releases/download/v2.17.2/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose

该命令会从 github 下载 docker compose 插件到当前主机的/usr/local/bin 目录中,并被重命名为 docker-compose

2.下载完后将docker compose修改为可执行文件:

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

3.查看版本,验证是否安装成功

docker-compose version

二:定义 compose.yml

安装成功后,进入到项目的目录下,编写compose.yml文件

以下是一个文件示例,具体命令按照需求来

services:
  app:
    build: ./
    container_name: app
    ports:
      - 9000:8080
    volumes:
      - ./logs:/var/applogs
    depends_on:
      - mysql
      - redis

  mysql:
    image: mysql:5.7
    environment:
      MYSQL_ROOT_PASSWORD: 123456
    ports:
      - 3306:3306
    volumes:
      - /root/mysql/log:/var/log/mysql
      - /root/mysql/data:/var/lib/mysql
      - /root/mysql/conf:/etc/mysql/conf.d

  redis:
    image: redis:7.0
    ports:
      - 6379:6379
    volumes:
      - /root/redis/redis.conf:/etc/redis/redis.conf
      - /root/redis/data:/data
    command: redis-server /etc/redis/redis.conf

在以上文件中,指定了端口、数据卷、镜像、容器名等

要注意的是,yml文件的格式很严格,为防止编写错误,编写完后运行docker compose config -q可以检测以下文件是否有问题

docker compose config -q

三:启动所有容器

docker compose up -d

以上命令可以启动compose.yml中的所有容器,-d表示以后台方式运行(注意要在当前目录)

运行成功后:

此时再查看docker运行的容器就会显示有app容器以及mysql和redis的容器 

同时我们便可以在网站访问项目,也可以进入mysql和redis,数据和缓存的查找新增都和手工启动一样,但是docker compose会方便的多并且对容器的管理也更到位

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值