美文网首页
Centos下的纯命令记录Docker学习(10)-docker

Centos下的纯命令记录Docker学习(10)-docker

作者: 小钟钟同学 | 来源:发表于2020-11-13 16:55 被阅读0次

    参考:https://www.cnblogs.com/beyang/p/11416646.html

    docker-compose 常用命令

    指定后个yaml问文件进行编排构建且后台运行

    [root@localhost dockerflask]# docker-compose -f docker-compose.yaml up -d
    

    :停止正在运行的服务

    
    [root@localhost dockerflask]# docker-compose stop
    Stopping dockerflask_nginx_yaml ... done
    Stopping dockerflask_01_yaml    ... done
    Stopping dockerflask_02_yaml    ... done
    Stopping dockerflask_redis_yaml ... done
    Stopping dockerflask_pg_yaml    ...
    
    

    关闭所有容器并删除,默认保留 数据卷

    [root@localhost dockerflask]# docker-compose down
    Stopping dockerflask_nginx_yaml ... done
    Stopping dockerflask_01_yaml    ... done
    Stopping dockerflask_02_yaml    ... done
    Stopping dockerflask_redis_yaml ... done
    Stopping dockerflask_pg_yaml    ... done
    Removing dockerflask_nginx_yaml ... done
    Removing dockerflask_01_yaml    ... done
    Removing dockerflask_02_yaml    ... done
    Removing dockerflask_redis_yaml ... done
    Removing dockerflask_pg_yaml    ... done
    Removing network dockerflask_default
    [root@localhost dockerflask]#
    
    

    docker-compose ps:列出当前运行的服务状态和相关信息

    [root@localhost dockerflask]# docker-compose -f docker-compose.yaml up -d
    Creating network "dockerflask_default" with the default driver
    Creating dockerflask_redis_yaml ... done
    Creating dockerflask_pg_yaml    ... done
    Creating dockerflask_01_yaml    ... done
    Creating dockerflask_02_yaml    ... done
    Creating dockerflask_nginx_yaml ... done
    [root@localhost dockerflask]# docker-compose ps
             Name                       Command               State           Ports
    ----------------------------------------------------------------------------------------
    dockerflask_01_yaml      gunicorn main:app -c ./gun ...   Up      0.0.0.0:1255->80/tcp
    dockerflask_02_yaml      gunicorn main:app -c ./gun ...   Up      0.0.0.0:1256->80/tcp
    dockerflask_nginx_yaml   /docker-entrypoint.sh ngin ...   Up      0.0.0.0:80->80/tcp
    dockerflask_pg_yaml      docker-entrypoint.sh postgres    Up      0.0.0.0:5432->5432/tcp
    dockerflask_redis_yaml   docker-entrypoint.sh redis ...   Up      0.0.0.0:6379->6379/tcp
    [root@localhost dockerflask]#
    
    

    配合常用的命令

    $  docker ps # 查看所有正在运行容器
    $  docker stop containerId # containerId 是容器的ID
    $  docker ps -a # 查看所有容器
    $  docker ps -a -q # 查看所有容器ID
    
    $  docker stop $(docker ps -a -q) #  stop停止所有容器
    $  docker  rm $(docker ps -a -q)  #  remove删除所有容器
    
    

    docker-compose 其他一些说明

    1:depends_on

    项目中的容器一般情况下会有先后启动的程序,比如的flask中,我们的示例是启动的flask后就会去实例化一个reids连接,所有容器的会有一个气的顺序要求。这个时候就需要标记哪些服务依赖什么启动后再去执行。

    
    version: '3'
    services:
      flask:
        build: .
        depends_on:
          - db
          - redis
      redis:
        image: redis
      db:
        image: mysql
    

    如上的示例下面容器会先启动 redis 和 db 两个服务,最后才启动 flask服务,另外默认情况下使用 docker-compose up flask 启动 flask 服务的话,也会同事的启动 redis 和 db ,因为在配置文件中定义了他们之间的依赖关系。

    2:links

    主用是用于解决的是容器连接问题,与Docker client的--link一样效果

    links:
     - db
     - db:database (取别名)
     - redis
    

    查看对于的/etc/hosts里创建:

    172.4.0.14  db
    172.4.0.14  database
    172.4.0.15  redis
    
    
    3: extra_hosts

    主要的作用是给容器添加对应的营生的别名,类似向/etc/hosts文件中添加记录,与Docker client的--add-host类似:

    extra_hosts:
     - "flask01:172.242.195.82"
     - "flask02:172.0.209.229"
    

    启动之后查看容器内部可以查看hosts。

    4: volumes

    关于目录的挂载,可以挂载一个目录或已存在的数据卷容器,注意识相点是挂载目录的路径问题

    (1)只是指定一个路径,Docker 会自动在创建一个数据卷(这个路径是容器内部的)。

    volumes:
      - /var/lib/mysql
    

    (2)使用绝对路径挂载数据卷

     volumes:
        - /opt/data:/var/lib/mysql
    

    (3) 以 Compose 配置文件为中心的相对路径作为数据卷挂载到容器。

     volumes:
        - ./cache:/tmp/cache
    

    (4)使用用户的相对路径(~/ 表示的目录是 /home/<用户目录>/ 或者 /root/)。

    volumes:
       - ~/configs:/etc/configs/:ro
    

    (5) 已经存在的命名的数据卷。

    volumes:
       - datavolume:/var/lib/mysql
    

    相关文章

      网友评论

          本文标题:Centos下的纯命令记录Docker学习(10)-docker

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