• Docker-Compose介绍,安装和使用


    Docker-Compose

    介绍

    有时候运行一个镜像需要大量的参数,可以通过Docker-Compose编写这些参数.而且Docker-Compose可以版主我们批量管理容器,这些信息值需要通过一个docker-compose.yml文件去维护即可

    下载并安装Docker-Compose

    下载Docker-Compose

    去github官网搜索docker-compose,下载你看着顺眼版本Docker-Compose

    这里补充一个解决github下载太慢的问题,将下载网址复制粘贴到https://d.serctl.com/即可下载

    设置权限

    需要将DockerCompose文件的名称修改下,基于DockerCompose文件一个可执行权限

    mv docker-compose-Linux-x86_64 docker-compose
    chmod 777 docker-compose

    配置环境变量

    方便后期操作,配置一个环境变量

    将docker-compose 文件移动到了/usr/local/bin,修改了,给/usr/local/bin配置到了PATH中

    mv docker-compose /usr/local/bin
    
    vi /etc/profile
    
    #添加内容 : export PATH=$JAVAHOME:/usr/local/bin:$PATH
    
    source /etc/profile

    测试

    在任意母下输入docker-compose

     Docker-Compose的管理MySQL和Tomcat容器

    yml文件以key:value方式来指定配置信息

    多个配置以信息以换行+锁紧的方式来区分

    在docker-compose.yml文件中,不要使用制表符

    version: '3.1'
    services:
      mysql:  #服务的名称
        restart: always #代表只要docker启动,那么这个容器就跟着启动
        image: daocloud.io/library/mysql:5.7.4 #指定镜像路径 
        container_name: mysql #指定容器名称
    ports:
    - 3306:3306 #指定端口号映射
    environment:
    MYSQLROOT_PASSWORD: 12345 #指定root用户的登录密码
    TZ: Shanghai #指定时区
    volumes:
    - /opt/docker_mysql_tomcat/mysql_data:/var/lib/mysql #映射数据卷 不懂数据卷的得可以查看上一篇文章
    tomcat:
    restart: always
    image: daocloud.io/lbrary/tomcat:8.5.15-jre8
    container_name:tomcat
    ports:
    - 8080:8080
    environment:
    TZ: Asia/Shanghai
    volumes:
    - /opt/docker_mysql_tomcat/tomcat_webapps:/usr/local/tomcat/webapps
    - /opt/docker_mysql_tomcat/tomcat_logs:/usr/local/tomcat/logs

     使用docker-compose命令管理容器

    在使用docker-compose命令时,默认会在当前目录下找docker-compose.yml文件

    #基于docker-compose.yml启动管理容器
    docker-compose up -d
    #关闭并删除容器
    docker-compose down
    #开启|关闭|重启已经存在的由docker-compose维护的容器
    docker-compose start|stop|restart
    #查看由docker-compose管理的容器
    docker-compose ps
    #查看日志
    docker-compose logs -f

    docker-compose配合Dockerfile使用

    使用docker-compose.yml文件以及Dockerfile文件在生成自定义镜像的同事启动当前镜像,并且由docker-compose去管理容器

    docker-compose.yml文件

    #yml文件
    version: '3.1'
    services: 
      ssm:
        restart: always
        build:  #构建自定义镜像
          context: ../  #指定dockerfile文件的所在路径
          dockerfile: Dockerfile  #指定Dcoekrfile文件名称
    image: ssm:1.0.1 #要运行的项目的名称:版本,记得之前要先放到镜像中
    container_name: ssm
    port:
    - 8081:8080
    environment:
    TZ: Asia/Shanghai

    运行

    测试结果

    #可以直接启动基于docker-compose.yml以及Dockerfile文件构建的自定义目录
    docker-compose up -d
    #如果自定义镜像不存在,回版主我们构建出自定义镜像,如果自定义镜像已经存在,会直接运行这个自定义镜像
    #重新构建的话
    #重新构建自定义镜像
    docker-compose build
    #运行当前内容,并重新构建
    docker-compose up -d --build

     

    我会写代码+代码改变世界=我会改变世界! 为什么要改变世界? 如果无法改变世界,那么,世界就会改变我......
  • 相关阅读:
    Qt通用方法及类库9
    设计模式原则(7)--Composition&AggregationPrinciple(CARP)--合成&聚合复用原则
    设计模式原则(6)--Open-Closed Principle(OCP)--开闭原则
    鼠标悬停出现页面
    设计模式(23)--Visitor--访问者模式--行为型
    设计模式(22)--Template Method(模板方法模式)--行为型
    设计模式(21)--Strategy(策略模式)--行为型
    设计模式(20)--State(状态模式)--行为型
    设计模式(19)--Observer(观察者模式)--行为型
    设计模式(18)--Memento(备忘录模式)--行为型
  • 原文地址:https://www.cnblogs.com/chougoushi/p/13396093.html
Copyright © 2020-2023  润新知