美文网首页
docker-compose实践

docker-compose实践

作者: 奋斗_登 | 来源:发表于2021-09-02 16:15 被阅读0次

    1. 关于docker-compose

    Docker Compose是一个用于定义和运行多个Docker应用程序的工具。通过使用YAML文件来配置应用程序的服务,使用单个命令可以从配置中创建并启动所有服务。
    通过命令可以实现

    1. 启动、停止和重建服务。
    2. 查看正在运行的服务状态。
    3. 通过流输出正在运行的服务日志。
    4. 对某个服务执行命令。

    2. 安装docker-compose

    docker for window默认已经安装过了docker compose。
    centos7下安装docker-compose
    二进制包地址:https://github.com/docker/compose/releases

    #下载最新稳定版本 v1.29.2
    sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /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
    

    3. 常用命令

    #执行compose 启动命令 
    docker-compose up -d
    #执行compose 销毁命令,停止容器,删除容器
    docker-compose down
    # 查看当前应用下启动的容器
    docker-compse ps 
    # 停止所有容器,但不删除
    docker-compse stop 
    # 命令帮助
    docker-compose -h
    

    更详细的参考官网文档:https://docs.docker.com/compose/reference/

    4. springboot+mysql容器化示例

    以下栗子为一个普通springboot应用使用mysql数据库。首先生成/pull两个镜像

    1. mysql:latest
    2. 12.78.18.15:5000/fabric-docker:1.0-SNAPSHOT
      然后定义2个服务(应用database+数据库webapi)
      具体说明参考注释,docker-compose.yml内容如下
    #版本号,建议用3兼容最新版的docker引擎
    version: '3'
    #所有的服务节点
    services:
      #数据库服务
      database:
        #镜像名称
        image: mysql:latest
        #容器名称
        container_name: mysql
        #端口号 server port:container port
        ports:
          - 3307:3306
        volumes:
          # 引用定义好的volume
          - mysql-data:/var/lib/mysql
        # 参数,相当于docker run -e
        environment:
          - MYSQL_ROOT_PASSWORD=123456
      #应用服务
      web-api:
        image: 12.78.18.15:5000/fabric-docker:1.0-SNAPSHOT
        container_name: web-api
        # 依赖数据库,先启动数据库
        depends_on:
          - database
        ports:
          - 8082:8082
        #其他服务的别名,在本服务中可以用别名
        links:
          - database:db
        volumes:
          - /etc/localtime:/etc/localtime
          - /mydata/app/mall-tiny-docker-compose/logs:/var/logs
    # 公共卷定义
    volumes:
      mysql-data:
        # external true:表示要提前在外部创建好volume,false: 则volume不用新创建,dockercompose up时候会自动在应用内部创建,卷名称一般会加上前缀docker_
        external: true
    
    docker-compose

    相关文章

      网友评论

          本文标题:docker-compose实践

          本文链接:https://www.haomeiwen.com/subject/onbhbltx.html