Docker系列——Docker Compose简介


什么是docker-compose?

Compose字面意思:对……排版。

Compose 是用于定义和运行多容器 Docker 应用程序的工具。

Compose 使用的三个步骤

  1. 定义好应用程序的环境,或者用Dockerfile定义。
  2. 使用 docker-compose.yml 定义构成应用程序的服务,这样它们可以在隔离环境中一起运行。
  3. 执行 docker-compose up 命令来启动并运行整个应用程序。

Compose离线安装

在线虽方便,但是限制多。

从github下载二进制包

下载地址:https://github.com/docker/compose/releases

上传并部署到服务器上

#!/bin/sh
# 如果最新的包名不是docker-compose,要重命名成docker-compose
sudo mv <最新的包> docker-compose  
# 放在/usr/local/bin/目录下
sudo cp docker-compose /usr/local/bin/docker-compose
# 添加权限
sudo chmod +x /usr/local/bin/docker-compose
# 创建软链接
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
docker-compose --version

Compose使用

创建环境

创建目录工作

#!/bin/sh
mkdri appdir
cd appdir

在工作目录中创建Dockerfile(不会创建的小伙伴请传这里传送门)。
如果启动很多个应用服务,可以放多个Dockerfile。
也可以把已经创建好的docker镜像放在docker images里面,不写Dockerfile。

创建docker-compose.yml

#!/bin/sh
vi docker-compose.yml

样例配置文件–有Dockerfile

version: '3'
services:
  example-eureka:
    build:
      context: ./
      dockerfile: Dockerfile-eureka
    restart: always
    ports:
      - 1025:1025
  example-config:
    links:
      - example-eureka:eureka
    build:
      context: ./
      dockerfile: Dockerfile-config
    restart: always
  example-gateway:
    links:
      - example-eureka:eureka
      - example-config:config
    build:
      context: ./
      dockerfile: Dockerfile-gateway
    restart: always
    ports:
      - 9999:9999

此Compose定义了3个服务:example-eureka,example-config,example-gateway。

样例配置文件–无Dockerfile

version: '3'
services:
  nginx-yum:
    restart: always
    image: nginx:1.19.0
    ports:
    - 7080:80
    - 7443:443
    volumes:
    - /app/nginx-yum/conf:/etc/nginx
    - /app/ngin-yum/logs:/var/log/nginx
    - /app/nginx-yum/html:/usr/share/nginx/html  # 注意要把静态文件挂载出来

此Compose定义了1个服务:my-nginx


Compose常见指令

version

指定compose版本

version: '3'

services

定义的应用服务

services:
  <服务名称>:

build

指定构建镜像的路径

    build:
      context: ./   # 上下文路径
      dockerfile: Dockerfile-gateway # 指定构建镜像的 Dockerfile 文件名

image

指定容器运行的镜像

image: nginx:1.19.0

ports

指定映射端口

ports:
- 宿主机映射端:容器端
- 7443:443

volumes

指定挂载目录

ports:
- 宿主机挂载目录:容器目录
- /app/nginx-yum/conf:/etc/nginx

参考:https://docs.docker.com/compose/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值