• [Docker学习笔记补充] docker-compose项目


    Docker-compose简介

    Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。

    Compose项目目前在Github上进行维护,其定位是“Defining and running complex applications with Docker”,前身是Fit,因而也兼容Fit的模板文件
    Dockerfile可以让用户管理一个单独的应用容器,而Compose则允许用户在一个模板(YAML格式)中定义一组相关联的应用容器(这组容器被称为一个“project”,即项目),例如一个Web应用容器再加上一个数据库容器构成的一个项目。
    Compose项目使用Python编写,实际上通过调用Docker的API实现其功能。

    Docker-compose安装

    Mac/Windows系统

    Docker-Desktop for Mac/Windows自带docker-compose项目的二进制文件,安装Docker-Desktop后可直接使用:
    docker-compose --version

    Linux系统

    方法一:二进制包安装
    https://github.com/docker/compose/releases 可以找到对应的二进制包
    下载完成后在对应目录执行该安装文件即可(执行前需要给二进制文件执行权限)

    方法二:pip安装
    Docker-compose也可以使用pip安装(注意要使用pip3安装):sudo pip3 install docker-compose

    Docker-compose卸载

    二进制文件安装删除对应的二进制文件即可卸载
    pip安装执行sudo pip3 uninstall docker-compose即可卸载

    Docker-compose使用

    使用docker-compose.yml搭建项目

    案例:搭建Vulhub漏洞复现环境

    下载漏洞复现环境:wget https://github.com/vulhub/vulhub/archive/master.zip -O vulhub-master.zip
    解压漏洞环境: unzip ./vulhub-master.zip
    进入目录:cd vulhub-master/
    进入fastjson 1.2.47 RCE目录:cd fastjson/1.2.47-rce
    自动化编译环境:docker-compose build 目录下一定要有docker-compose.yml文件
    启动整个环境:docker-compose up 也可以加上-d参数来使容器后台运行

    可以看到我们的环境已经成功搭建:

    docker-compose.yml 编写

    //待更新

    Docker-compose命令

    查看某个命令的具体帮助:docker-compose [COMMAND] --help
    常用选项:
    --verbose 输出更多调试信息
    --version 查看版本信息
    -f/--file FILE 使用特定的docker-compose模板文件,默认为docker-compose.yml
    -p/--project-name NAME 指定项目名称,默认使用搭建目录名称

    常用命令:
    docker-compose build 构建或重构一个新的服务,服务一旦构建后带上一个标记名,可以随时在项目目录下运行该命令来构建服务
    docker-compose help 获取帮助
    docker-compose kill 通过发送SIGKILL信号来中止容器,也可以使用-s SIGN来发送指定命令
    docker-compose logs 查看服务的输出
    docker-compose port 打印绑定的公共端口
    docker-compose ps 列出所有容器
    docker-compose pull [IMAGES] 拉取一个镜像
    docker-compose rm [IMAGES] 删除一个镜像
    docker-compose run [IMAGES] [COMMAND] 启动一个服务并执行特定命令
    docker-compose scale SERVICE=NUMBER 启动多个同一服务的容器
    docker-compose stop 停止正在运行的项目(多个容器),但不删除项目
    docker-compose start 启动停止运行的项目
    docker-compose up 构建、创建、启动、链接一个项目相关的容器,可以使用-d参数使其在后台运行,并且退出时该项目所有的容器都会停止

    [ * ]博客中转载的文章均已标明出处与来源,若无意产生侵权行为深表歉意,需要删除或更改请联系博主: 2245998470[at]qq.com

  • 相关阅读:
    谷歌浏览器慎用有道词典插件(<audio></audio>) (转载)
    Python函数-4 迭代器
    {v: k for k, v in myArray.items()}
    Python函数-3 推导式
    Java面向对象编程 -6.5
    Java面向对象编程 -6.8
    Java面向对象编程 -6.7
    Java面向对象编程 -6.6
    Java面向对象编程 -6.4
    Java面向对象编程 -6.3
  • 原文地址:https://www.cnblogs.com/yesec/p/15063886.html
Copyright © 2020-2023  润新知