Docker Compose初识

概述

工程、服务、容器

Docker Compose 将所管理的容器分为三层,分别是工程(project)、服务(service)、容器(container)
Docker Compose 运行目录下的所有文件(docker-compose.yml)组成一个工程,一个工程包含多个服务,每个服务中定义了容器运行的镜像、参数、依赖,一个服务可包括多个容器实例

下载安装包

sudo curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

查看版本

docker-compose -v

docker compose 重要命令,命令选项

-f, --file FILE 指定使用的 Compose 模板文件,默认为 docker-compose.yml,可以多次指定。

-p, --project-name NAME 指定项目名称,默认将使用所在目录名称作为项目名。

–x-networking 使用 Docker 的可拔插网络后端特性

–x-network-driver DRIVER 指定网络后端的驱动,默认为 bridge

–verbose 输出更多调试信息。

-v, --version 打印版本并退出。

常用命令
1:config检查格式是否正确

docker-compose -f mysql.yml config

在这里插入图片描述
2:images列出docker-compose中的镜像(不是docker的)

docker-compose -f mysql.yml images

在这里插入图片描述
3:ps 列出docker-compose的所有容器

docker-compose -f mysql.yml ps

在这里插入图片描述
4:build 构建(重新构建)项目中的服务容器。
如:docker-compose -f mysql.yml build,一般搭配自定义镜像,比如编写的Dockfile,功能类似于docker build .

5:up 自动完成包括构建镜像,(重新)创建服务,启动服务,并关联服务相关容器的一系列操作。没有的镜像会从库里下载

docker-compose -f mysql.yml up

在这里插入图片描述
如果使用docker-compose up -d将会在后台启动并运行所有的容器。一般推荐生产环境下使用该选项。

如果服务容器已经存在,docker-compose up 将会尝试停止容器,然后重新创建(保持使用 volumes-from 挂载的卷),以保证新启动的服务匹配 docker-compose.yml 文件的最新内容

5:down 移除yml内的容器,镜像,网络
docker-compose -f mysql.yml down
在这里插入图片描述
6:stop停止运行的容器,不删除,还可以再次启动

docker-compose -f mysql.yml start mysql stop

7:start启动已经存在的服务容器

docker-compose -f mysql.yml start mysql

8:restart 重新启动已经存在的服务容器

docker-compose -f mysql.yml restart mysql

9:logs 查看服务容器的输出

docker-compose -f mysql.yml logs #查看服务日志
docker-compose -f mysql.yml logs mysql #查看单独容器日志

示例:

vim skywalking.yml

version: '3.3'
services:
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:6.8.5
    container_name: elasticsearch
    restart: always
    ports:
      - 9200:9200
      - 9300:9300
    environment:
      discovery.type: single-node
    ulimits:
      memlock:
        soft: -1
        hard: -1
  oap:
    image: skywalking/oap
    container_name: oap
    depends_on:
      - elasticsearch
    links:
      - elasticsearch
    restart: always
    ports:
      - 11800:11800
      - 12800:12800
    environment:
      SW_STORAGE: elasticsearch
      SW_STORAGE_ES_CLUSTER_NODES: elasticsearch:9200
  ui:
    image: skywalking/ui
    container_name: ui
    depends_on:
      - oap
    links:
      - oap
    restart: always
    ports:
      - 8080:8080
    environment:
      SW_OAP_ADDRESS: oap:12800
docker-compose -f /app/skywalking.yml up -d

看防火墙端口是不是开着的
web访问
http://IP:8080
admin
admin

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值