从零开始学Docker-docker compose

docker compose 官方介绍:Overview | Docker Documentation 

1. 什么是docker compose

        docker compose通常用来定义和运行多容器,可以配置docker的配置,网络,服务,数据卷等。docker compose通过定义一个yml文件来指定docker容器的各种配置。

        docker compose的使用分为以下三步:

        1. 定义各个容器的dockerfile文件

        2. 编写docker-compose.yml文件,定义服务等

        3. 通过命令:docker compose up命令来启动docker-compose.yml中配置的容器

2. 安装docker compose

        1. Windows或Macos 若安装了Docker Desktop工具,则已经安装了docker compse命令

        2. Linux上通过pip3安装

# 安装pip3依赖
sudo apt install python3-pip
# 通过pip3安装docker-compose 
sudo pip3 install docker-compose
# 查看安装的版本
docker-compose --version

        控制台如果如下图正常输出docker-compose的版本则表示安装成功 

3. 编写一个docker compose文件

        以专栏中的dockerfile为例,使用docker-compose来制作自定义镜像my-app,并拉去所需的redis镜像,同时启动redis和my-app

目录结构:

        docker-compose.yml内容如下:

# 指定语法版本
version: "3.8"
# 同一个services中的服务会被docker放在同一个网络中管理
services:
  # 获取redis镜像
  redis:
    image: redis:latest
    container_name: my-redis
    volumes:
      - ./redis-data:/data
  # 打包运行自定义的镜像
  my-app:
    container_name: my-app-test
    build: .
    ports:
      - "8080:8080"
    depends_on:
      - redis

        使用命令:docker compose up -d,开始制作和启动镜像,出现以下输出则表示镜像制作成功,随后会启动这两个镜像。 

        通过docker ps可以查询到,这两个镜像已经正常运行 ,这样我们就可以简单的部署和启动大量的docker容器,达到分布式部署的效果。

         同时由于redis和my-app被docker管理,代码中的redis配置地址可以用docker中的服务名代替。

# 原先的redis地址配置
spring.redis.host=127.0.0.1:6379

#替换为
spring.redis.host=redis:6379

        通过以上示例,可以看出docker compose可以方便的制作、配置大量的镜像,同时可以降低代码中的耦合性,服务的ip地址由docker去管理,是代码更加的简洁~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Andrew-ZhangJinyi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值