zoukankan      html  css  js  c++  java
  • docker-compose命令

    docker-compose命令

    1.Docker Compose安装

    推荐使用pip安装docker-compose,因为速度快,pip可以为你自动对应版本问题!!!

    pip安装链接

    sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    
    赋权:sudo chmod +x /usr/local/bin/docker-compose
    
    查看版本:docker-compose --version
    
    查找docker-compose.yml文件位置
    find / -name "docker-compose.yml*"
    

    如果要启动docker-compose的话,需要cd到docker-compose.yml的目录下。

    我的路径是:
    /var/lib/docker/overlay2/455590d0d7c2edc205fcc0463772c7acabc3998f808915fde99a2afa23343f97/merged/app/docker-compose.yml
    													cd到app下
    启动docker-compose:docker-compose up
    
     -f: 标识用于指定Compose的配置文件,可以指定多个,当没有使用-f标识时,默认在项目跟目录及其子目录下寻找docker-compose.yml和docker-compose.override.yml文件,至少需要存在docker-compose.yml文件
    
    docker-compose build命令用来创建或重新创建服务使用的镜像,后面指定的是服务的名称,创建之后的镜像名为project_service,
    	即项目名后跟服务名。比如项目名称为composeset,其中的一个服务名称为web,则docker-compose build web创建的镜像的名称为composeset_web。	
    
    docker-compose logs命令用于展示service的日志 
    
    docker-compose pause暂停服务; 
        docker-compose unpause恢复被暂停的服务;
    
    docker-compose ps只能查看当前项目的容器,如果要显示本机上所有的容器,请使用docker ps -a。
    
    docker-compose pull用于;拉取服务依赖的镜像;
    
    docker-compose restart用于重启某个服务的所有容器,后跟服务名。
    
    docker-compose rm删除停止的服务(容器) 
    -f表示强制删除 
    -v标识表示删除与容器相关的卷(volumes)
    
    docker-compose start命令启动运行某个服务的所有容器; 
    docker-compose stop命令停止运行一个服务的所有容器
    
    docker-compose up创建并运行作为服务的容器,并将其输入输出重定向到控制台(attach),并将所有容器的输出合并到一起。命令退出后,所有的容器都会停止。
    -d标识指定容器后台运行; 
    
    Docker Compose 配置文件详解
    
    一份标准配置文件应该包含 version、services、networks 三大部分,其中最关键的就是 services 和 networks 两个部分,下面先来看 services 的书写规则。
    
    services:
      web:-------------------------------------服务名称
        image: hello-world---------------------指定服务的镜像名称或镜像 ID。如果镜像在本地不存在,Compose 将会尝试拉取这个镜像
        ----image 可以替换为build,基于dockfile来构建镜像
        command: bundle exec thin -p 3000------可以覆盖容器启动后默认执行的命令
        depends_on:----------------------------解决了容器的依赖,启动先后的问题
          - db
          - redis
        dns:-----------------------------------dns映射??
          - 8.8.8.8
          - 9.9.9.9
        environment:---------------------------会把变量保存到镜像,容器中去
          - SHOW: 'true'
        expose:--------------------------------指定暴露的端口,习惯上使用port
          - "3000"
        external_links:------------------------让Compose项目里面的容器连接到那些项目配置外部的容器(前提是外部容器中必须至少有一个容器是连接到与项目内的服务的同一个网络里面)
          - redis_1
        extra_hosts:---------------------------往/etc/hosts文件中添加一些记录,从而添加主机映射
          - "somehost:162.242.195.82"
        ports:---------------------------------映射端口的标签。使用HOST:CONTAINER格式或者只是指定容器的端口,宿主机会随机映射端口。
          - "3000"
          - "8000:8000"
          - "49100:22"
          - "127.0.0.1:8001:8001"
        volumes:-------------------------------挂载一个目录或者一个已存在的数据卷容器
          // 只是指定一个路径,Docker 会自动在创建一个数据卷(这个路径是容器内部的)。
          - /var/lib/mysql
          // 使用绝对路径挂载数据卷
          - /opt/data:/var/lib/mysql
         // 以 Compose 配置文件为中心的相对路径作为数据卷挂载到容器。
          - ./cache:/tmp/cache
         // 使用用户的相对路径(~/ 表示的目录是 /home/<用户目录>/ 或者 /root/)。
          - ~/configs:/etc/configs/:ro
        // 已经存在的命名的数据卷。
         - datavolume:/var/lib/mysql
       volumes_from:--------------------------从其它容器或者服务挂载数据卷
         - service_name
       network_mode:-------------------------可以指定使用服务或者容器的网络
       networks:-------------------------------??加入指定网络
         - some-network
    
    
    我命由我,不由天
  • 相关阅读:
    第一篇博客
    Word2vec负采样
    Ubuntu系统为应用建立桌面快捷方式(以Pycharm为例)
    Kaggle入门Titanic——模型建立
    Kaggle入门Titanic——特征工程
    ubuntu系统theano和keras的安装
    win7系统下python安装numpy,matplotlib,scipy和scikit-learn
    ubuntu14.04环境下spyder的安装
    防止IE7,8进入怪异模式
    自定义列表
  • 原文地址:https://www.cnblogs.com/duhy/p/12076007.html
Copyright © 2011-2022 走看看