精华内容
下载资源
问答
  • 不光占去了大量的空间(光一个Form就300K之大),而且使软件可见,根本没什么作用。因此实际写木马时可以一些技巧使程序不包含Form,就像Delphi过程实现的小程序一般只有17K左右那样。  我们首先应该让我们的...
  • 洪轩文件管理系统

    2014-02-23 21:38:52
    下载文件的管理有时候是一件挺麻烦的事,很多网民每天都要下载大 量的文件,要么一古脑地放在一个文件里,要么全堆放在桌面上,时间一 长,看着那些压缩包,自己也搞不清哪个文件是干什么用的了。 本软件是用来管理...
  • E1 N, f& V* e4 p3 S首先,也是最重要的一点,就是你必须安装活动目录的管理员权限,否则无法安装。' E/ P8 R' x% B$ f( q7 h5 i 3 ^7 w8 h% q+ a) v" n$ D0 K; C在安装活动目录之前,要确保计算机满足基本系统...
  •  接下来我们会一系列文章逐一探索Kubernetes是什么、能做什么以及怎么做。2. 什么是Kubernetes Kubernetes是Google开源的容器集群管理系统,其提供应用部署、维护、 扩展机制等功能,利用Kubernetes能方便地...
  • 有什么限制? 7 2、Java有没有goto? 8 3、说说&和&&的区别。 8 4、在JAVA中如何跳出当前的多重嵌套循环? 8 5、switch语句能否作用在byte上,能否作用在long上,能否作用在String上? 9 6、short s1 = 1; s1 = s1 + 1...
  • 6、int 和 Integer 有什么区别  Java 提供两种不同的类型:引用类型和原始类型(或内置类型)。Int是java的原始数据类型,Integer是java为int提供的封装类。Java为每个原始类型提供了封装类。 原始类型 封装类 ...
  • 什么是DOClever? DOClever是一个商业化开源产品,完全免费。无论你是前端工程师,还是后端工程师,接口永远都是两者交互的桥梁,所以DOClever专为中小型团队量身打造,旨在解决接口的管理,测试与数据生成,实现...
  • 可以描述应用的架构,如使用什么镜像、数据卷、网络、绑定服务端口等等,然后再一条命令就可以管理所有的服务(如启动、停止、重启、日志监控等等),可以鼎泰扩展容器的规模等等,和docker swarm非常相似又区别...

    一、docker-compose 的介绍

     docker-compose是一种容器编排工具,可以将多个docker容器关联部署。通过yaml文件,可以描述应用的架构,如使用什么镜像、数据卷、网络、绑定服务端口等等,然后再用一条命令就可以管理所有的服务(如启动、停止、重启、日志监控等等),可以鼎泰扩展容器的规模等等,和docker swarm非常相似又有区别。 

    1.相关命令介绍

    docker-compose.yml 内容相关

      * image:指定镜像,如果本地不存在,Compose会尝试去docker hub pull下来

    image: centos
    image: orchardup/postgresql  
    image: a4bc65fd
     

     

       * build:指定Dockerfile文件的路径,Compose将会以一个已存在的名称进行构建并标记,并随后使用这个image

    build: /path/to/build/dir
     

     

       * command:重写默认的命令

    command: bundle exec thin -p 3000
     

     

       * links 连接到其他服务中的容器,可以指定服务名称和这个链接的别名,或者只指定服务名称

    links:  
      - db   
      - db:database   
      - redis
     

     

       * external_links:连接到在这个docker-compose.yml文件或者Compose外部启动的容器,特别是对于提供共享和公共服务的容器。在指定容器名称和别名时,external_links遵循着和links相同的语义用法

    external_links:  
      - redis_1   
      - project_db_1:mysql   
      - project_db_1:postgresql
     

     

       * ports:暴露端口,指定两者的端口(主机:容器),或者只是容器的端口(主机会被随机分配一个端口)

    ports:  
      - "3000"   
      - "8000:8000"   
      - "49100:22"   
      - "127.0.0.1:8001:8001"
     

     

       * expose:暴露端口而不必向主机发布它们,而只是会向链接的服务(linked service)提供,只有内部端口可以被指定

    expose:  
      - "3000"   
      - "8000"
     

     

       * volumes:挂载路径最为卷,可以选择性的指定一个主机上的路径(主机:容器),或是一种可使用的模式(主机:容器:ro)

    volumes:  
      - /data/www:/usr/share/nginx/html
      - container_name
     

     

       * environment:加入环境变量,可以使用数组或者字典,只有一个key的环境变量可以在运行Compose的机器上找到对应的值,这有助于加密的或者特殊主机的值

    environment:  
      RACK_ENV: development  
      SESSION_SECRET:  
    environments:  
      - RACK_ENV=development    
      - SESSION_SECRET
     

     

       * env_file:从一个文件中加入环境变量,该文件可以是一个单独的值或者一张列表,在environment中指定的环境变量将会重写这些值

    env_file:  
      - .env  
    
    RACK_ENV: development
     

     

       * net: 网络模式,可以在docker客户端的--net参数中指定这些值

    net: "bridge"  
    net: "none"  
    net: "container:[name or id]"  
    net: "host"
     

     

       * dns 自定义DNS服务,可以是一个单独的值或者一张列表

    dns: 8.8.8.8  
    dns:  
      - 8.8.8.8    
      - 9.9.9.9
     

     

       * dns_search 自定义DNS搜索范围,可以是单独的值或者一张列表

    dns_search: example.com  
    dns_search:  
      - dc1.example.com  
      - dc2.example.com
     

     

       * working_dir,entrypoint,user,hostname,domainname,mem_limit,privileged,restart,stdin_open,tty,cpu_shares

    上述的每一个都只是一个单独的值,和docker run中对应的参数是一样的

    cpu_shares: 73
    
    working_dir: /code
    
    entrypoint: /code/entrypoint.sh
    
    user: postgresql
    
    hostname: foo
    
    domainname: foo.com
    
    mem_limit: 1000000000
    
    privileged: true
    
    restart: always
    
    stdin_open: true
    
    tty: true

    二、下载安装包

    curl -L "https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/bin/docker-compose

    添加执行权限

    chmod +x /usr/bin/docker-compose

     

    三、目录结构

     

    三、构建 nginx dockerfile 文件

    [root@node03 nginx]# vi dockerfile

    #Nginx
    #Version 1.0.1
    #Author lisea

    #Base image
    FROM centos:7

    #Maintainer
    MAINTAINER lisea cnlisea@126.com

    #Commands
    RUN rpm -ivh http://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm
    RUN yum install -y nginx
    RUN echo "daemon off;" >> /etc/nginx/nginx.conf

    EXPOSE 80
    CMD ["nginx"]

    1、通过 dockerfile 文件构建镜像

    # docker build -t lisea/nginx:v1.0.1 .

     2、查看镜像

    3、构建 docker-compose 文件

    [root@node03 docker]# vi docker-compose.yml

    version: '2'
    services:
      web1:
        image: lisea/nginx:v1.0.1
        volumes:
          - /data/www1:/usr/share/nginx/html
        ports:
          - "8080:80"
      web2:
        image: lisea/nginx:v1.0.1
        volumes:
          - /data/www2:/usr/share/nginx/html
        ports:
          - "8081:80"
      web3:
        image: lisea/nginx:v1.0.1
        volumes:
          - /data/www3:/usr/share/nginx/html
        ports:
          - "8082:80"
    

      

    4、使用docker-compose 开始构建容器 

     docker-compose up -d  ##### up 构建运行  -d 后台运行

    5、查看

    [root@node03 docker]# docker-compose ps

     

    6.查看日志

    [root@node03 docker]# docker-compose logs

    7、 停止并清除容器[ 需在docker-compose.yml文件同目录下,或 -f 指定docker-compose.yml路径 ]

    # docker-compose down

     

    
    

    转载于:https://www.cnblogs.com/zoulixiang/p/9609697.html

    展开全文
  • 可以描述应用的架构,如使用什么镜像、数据卷、网络、绑定服务端口等等,然后再一条命令就可以管理所有的服务(如启动、停止、重启、日志监控等等),可以鼎泰扩展容器的规模等等,和docker swarm非常相似又区别...

    简介

    docker-compose是一种容器编排工具,可以将多个docker容器关联部署。通过yaml文件,可以描述应用的架构,如使用什么镜像、数据卷、网络、绑定服务端口等等,然后再用一条命令就可以管理所有的服务(如启动、停止、重启、日志监控等等),可以鼎泰扩展容器的规模等等,和docker swarm非常相似又有区别。
    本次博客将对前一节利用Dockerfile编排pbspro集群进行升级,使用docker-compose来将pbsPro集群部署起来,结合shell脚本,可以动态配置整个集群的编排。所有脚本已上传至github上。


    编排文件脚本下载

    1. 构建基础镜像maya-pbsPro

    从前一步的zxj/maya-pbspro:latest镜像开始,该镜像的获取可参考前面镜像制作文章:利用Dockerfile编排pbspro集群,或者拉取本人的镜像库

    $# docker pull zxj2017/maya-pbspro
    1. 构建新镜像zxj/maya-pbs:onbuild

    $# cd centos-maya-openpbs/onbuild

    #copy configutation file and ssh
    FROM zxj/maya-pbs:latest
    MAINTAINER zxj
    USER root
    
    RUN yum install openssh-clients \
        yum install openssh-server
    
    # # ------------------------------------------------------------
    # # Utility shell scripts
    # # ------------------------------------------------------------
    
    COPY mpi_bootstrap /usr/local/bin/mpi_bootstrap
    RUN chmod +x /usr/local/bin/mpi_bootstrap
    
    COPY get_hosts /usr/local/bin/get_hosts
    RUN chmod +x /usr/local/bin/get_hosts
    
    COPY auto_update_hosts /usr/local/bin/auto_update_hosts
    RUN chmod +x /usr/local/bin/auto_update_hosts
    
    # # ------------------------------------------------------------
    # # Miscellaneous setup for better user experience
    # # ------------------------------------------------------------
    
    # Set welcome message to display when user ssh login 
    COPY welcome.txt /etc/motd
    
    # Default hostfile location for mpirun. This file will be updated automatically.
    ENV HYDRA_HOST_FILE /etc/opt/hosts
    RUN echo "export HYDRA_HOST_FILE=${HYDRA_HOST_FILE}" >> /etc/profile
    
    RUN touch ${HYDRA_HOST_FILE}
    RUN chown ${USER}:${USER} ${HYDRA_HOST_FILE}
    
    # Auto go to default working directory when user ssh login 
    RUN echo "cd $WORKDIR" >> ${USER_HOME}/.profile
    
    # # ------------------------------------------------------------
    # # Set up SSH Server 
    # # ------------------------------------------------------------
    
    # Add host keys
    RUN cd /etc/ssh/ && ssh-keygen -A -N ''
    
    # Config SSH Daemon
    RUN  sed -i "s/#PasswordAuthentication.*/PasswordAuthentication no/g" /etc/ssh/sshd_config \
      && sed -i "s/#PermitRootLogin.*/PermitRootLogin no/g" /etc/ssh/sshd_config \
      && sed -i "s/#AuthorizedKeysFile/AuthorizedKeysFile/g" /etc/ssh/sshd_config
    
    # Unlock non-password USER to enable SSH login
    RUN echo "123456" | passwd --stdin "root"
    #passwd -u ${USER}
    
    # Set up user's public and private keys
    ENV SSHDIR ${USER_HOME}/.ssh
    RUN mkdir -p ${SSHDIR}
    
    # Default ssh config file that skips (yes/no) question when first login to the host
    RUN echo "StrictHostKeyChecking no" > ${SSHDIR}/config
    # This file can be overwritten by the following onbuild step if ssh/ directory has config file
    
    # Switch back to default user
    USER ${USER}
    
    # # ------------------------------------------------------------
    # # ONBUILD (require ssh/ directory in the build context)
    # # ------------------------------------------------------------
    ONBUILD USER root
    
    ONBUILD COPY ssh/ ${SSHDIR}/
    
    ONBUILD RUN cat ${SSHDIR}/*.pub >> ${SSHDIR}/authorized_keys
    ONBUILD RUN chmod -R 600 ${SSHDIR}/* \
             && chown -R ${USER}:${USER} ${SSHDIR}
    
    # Switch back to default user when continue the build process
    ONBUILD USER ${USER}
    
    

    使用编译命令,构建成为一个zxj/maya-pbs:onbuild镜像


    $#   docker build -t zxj/maya-pbs:onbuild .
    

    这里写图片描述


    2 .构建docker-compose.yml文件

    由上一步构建的镜像zxj/maya-pbs:onbuild,后续继续使用docker compose在这个镜像上编排,编排文件如下


    cd centos-maya-openpbs/cluster
    
    version: "2"
    
    services:
      registry:
        image: registry
        ports:
          - "${REGISTRY_PORT}:5000"
    
      master:
        image: $REGISTRY_ADDR:$REGISTRY_PORT/$IMAGE_NAME
        user: root
        hostname: master
        privileged: true
        entrypoint: ["mpi_bootstrap", "role=master", "mpi_master_service_name=master", "mpi_worker_service_name=worker"]
        ports:
          - "${SSH_PORT}:22"
        networks:
          - net
        volumes:
          - /pbs:/pbs
    
      worker:
        image: $REGISTRY_ADDR:$REGISTRY_PORT/$IMAGE_NAME
        user: root
        entrypoint: ["mpi_bootstrap", "role=worker", "mpi_master_service_name=master", "mpi_worker_service_name=worker"]
        networks:
          - net
        volumes_from:
          - master
    
    networks:
      net:

    3.将pbsPro安装文件放置在集群的共享目录/pbs下,便于后去安装,共享文件地址为:pbs安装文件

    1. 在shell中结合docker-compose编排pbs集群
    
    $# chmod a+x cluster.sh
    $# ./cluster.sh up size=3
    $# docker ps -a

    这里写图片描述
    我们发现容器已经自动编排完成
    4. 安装openpbs
    法一:参照上一节的手动安装办法:利用Dockerfile编排pbspro集群

    法二:我们同过放置在共享目录下/pbs下下的安装监本来自动化安装这下文件和过程。

    $  cd /pbs/master/
    #安装master节点的文件
    $# ./login_master.sh cluster_master_1
    在docker容器上执行安装pbs文件的shell
    $# docker exec -it cluster_master_1 /etc/init.d/pbs status
    

    这里写图片描述

    $# 安装worke节点

    # cd /pbs/worker# /login_Singleworker cluster_worker_1
    $# docker exec -it cluster_master_1 /etc/init.d/pbs status

    这里写图片描述

    1. 开启并提交作业
      每个节点开启pbs操作
    $# /etc/init.d/pbs start

    在maseter上加入slaver1,和slaver2

    $# . /etc/profile.d/pbs.sh
    $#  qmgr -c 'create node  slaver1'
    $#  qmgr -c 'create node  slaver2'

    为三个节点添加同意的UID的用户user1每个节点执行如下操作
    #  useradd user1  
    查看
    # pbsnodes -a

    这里写图片描述

    运行作业:

    $# echo 'sleep 10' | qsub
    $# qstat -a

    这里写图片描述

    至此,整个pbs Pro搭建完毕,此过程可动态调整参数实现集群的扩展。

    展开全文
  • 0614

    2005-06-15 08:53:00
    什么的我的BLOG管理界面好象CSS关联不上,难看的要命,好象是第几行语法错误,不知道其它人的怎么样。的关SWT做WEB应用,关掉应用时javaw进程还在,非得杀掉它!!这样间接的后果是,如果下次更新,而上一个...

    为什么的我的BLOG管理界面好象CSS关联不上,难看的要命,好象是第几行有语法错误,不知道其它人的怎么样。

    的关用SWT做WEB应用,关掉应用时javaw进程还在,非得杀掉它!!

    这样间接的后果是,如果下次有更新,而上一个进程还在,则会说签名无法验证之类的话而无法启动应用。

    展开全文
  • 最新Java面试宝典pdf版

    热门讨论 2011-08-31 11:29:22
    有什么限制? 7 2、Java有没有goto? 7 3、说说&和&&的区别。 8 4、在JAVA中如何跳出当前的多重嵌套循环? 8 5、switch语句能否作用在byte上,能否作用在long上,能否作用在String上? 9 6、short s1 = 1; s1 = s1 + 1...
  • Java面试宝典-经典

    2015-03-28 21:44:36
    有什么限制? 7 2、Java有没有goto? 7 3、说说&和&&的区别。 8 4、在JAVA中如何跳出当前的多重嵌套循环? 8 5、switch语句能否作用在byte上,能否作用在long上,能否作用在String上? 9 6、short s1 = 1; s1 = s1 + 1...
  • 10.5 关联应该精细到什么程度 10.6 关联原则 10.7 角色 10.8 关税的命名 10.9 两个类型间的多重关联 10.10 关联和它的实现 10.11 销售点问题域中的关联 10.11.1 在商店中不能被遗忘的一些关系 ...
  • Java面试宝典2010版

    2011-06-27 09:48:27
    有什么限制? 2、Java有没有goto? 3、说说&和&&的区别。 4、在JAVA中如何跳出当前的多重嵌套循环? 5、switch语句能否作用在byte上,能否作用在long上,能否作用在String上? 6、short s1 = 1; s1 = s1 + 1;...
  • Hibernate实战(第2版 中文高清版)

    热门讨论 2013-03-19 22:45:46
     1.1 什么是持久化   1.1.1 关系数据库   1.1.2 理解SQL   1.1.3 在Java中使用SQL   1.1.4 面向对象应用程序中的持久化   1.2 范式不匹配   1.2.1 粒度问题   1.2.2 子类型问题   1.2.3 同一性问题...
  • 3.启动管理:电脑用户中了QQ病毒木马或恶意软件之后,系统运行速度明显变慢,”启动管理”向用户提供了关于启动项的各种信息,包括文件夹启动项、运行入口、运行方式、注册表位置,用户可以查看并删除随机启动项目,...
  • Java面试宝典2012版

    2012-12-03 21:57:42
    有什么限制? 7 2、Java有没有goto? 7 3、说说&和&&的区别。 8 4、在JAVA中如何跳出当前的多重嵌套循环? 8 5、switch语句能否作用在byte上,能否作用在long上,能否作用在String上? 9 6、short s1 = 1; s1 = ...
  • java面试宝典2012

    2012-12-16 20:43:41
    有什么限制? 8 2、Java有没有goto? 8 3、说说&和&&的区别。 8 4、在JAVA中如何跳出当前的多重嵌套循环? 8 5、switch语句能否作用在byte上,能否作用在long上,能否作用在String上? 9 6、short s1 = 1; s1 = s1 + 1...
  • 有什么限制? 7 2、Java有没有goto? 7 3、说说&和&&的区别。 8 4、在JAVA中如何跳出当前的多重嵌套循环? 8 5、switch语句能否作用在byte上,能否作用在long上,能否作用在String上? 9 6、short s1 = 1; s1 = s1 + 1...
  • Java面试笔试资料大全

    热门讨论 2011-07-22 14:33:56
    有什么限制? 7 2、Java有没有goto? 7 3、说说&和&&的区别。 8 4、在JAVA中如何跳出当前的多重嵌套循环? 8 5、switch语句能否作用在byte上,能否作用在long上,能否作用在String上? 9 6、short s1 = 1; s1 = s1 + 1...
  • Java面试宝典2012新版

    2012-06-26 19:20:00
    有什么限制? 7 2、Java有没有goto? 7 3、说说&和&&的区别。 8 4、在JAVA中如何跳出当前的多重嵌套循环? 8 5、switch语句能否作用在byte上,能否作用在long上,能否作用在String上? 9 6、short s1 = 1; s1 = s1 + 1...
  • JAVA面试宝典2010

    2011-12-20 16:13:24
    有什么限制? 7 2、Java有没有goto? 8 3、说说&和&&的区别。 8 4、在JAVA中如何跳出当前的多重嵌套循环? 8 5、switch语句能否作用在byte上,能否作用在long上,能否作用在String上? 9 6、short s1 = 1; s1 = s1 + 1...
  • 注意一点 破解后我进入桌面时 图标都没有了,鼠标能自由动了 这时能 打开任务管理器 我发现系统少了Explorer.exe这个进程,他是图行的什么进程. 我选择任务管理器的 文件 新建任务 C:\ 这时就能打开本地盘符了 在地址...
  • 软件工程教程

    热门讨论 2012-07-06 23:10:29
    问:有什么应用价值? 答: 本项目是一个能提高用户参与和娱乐程序的项目,具有一定的使用价值。 追求的结果--钢琴练奏师 1.2 项目背景 传统的音乐播放器功能单一,用户对音乐缺少参与感,本项目志在提高用户对...
  • 的,有什么方法解决?  这个文件是Windows XP多用户管理的驱动文件。在 X:WindowsSystem32Dllcache目录下有此文件的备份。只要将此备份拷到 X:WindowsSystem32下替代带病毒的文件即可。做一张Windows 98启动...
  • Restorator2009汉化版制作的非常精良,完全汉化,本站提供的是单文件绿色版,下载后即可直接使用,双击直接启动退出删除文件和注册信息,软件首次启动会提示“是否要将.res文件与Restorator关联”,根据个人需求选择...
  • 什么是二环路云助手? 一键创建IIS站点,瞬间创建数据库,安装方便,经过长期内测,BUG已经解决差不多了(肯定还有很多) 其他功能请下载软件自己,反正免费,不看广告看功能,了您就知道好。 另外我们还有个...
  • Spring面试题

    2015-05-06 07:19:39
    什么用: {AOP 让开发人员可以创建非行为性的关注点,称为横切关注点,并将它们插入到应用程序代码中。使用 AOP 后,公共服务 (比如日志、持久性、事务等)就可以分解成方面并应用到域对象上,同时不会增加域对象...
  • java 面试题 总结

    2009-09-16 08:45:34
    3、int 和 Integer 有什么区别 Java 提供两种不同的类型:引用类型和原始类型(或内置类型)。Int是java的原始数据类型,Integer是java为int提供的封装类。Java为每个原始类型提供了封装类。 原始类型封装类 boolean...

空空如也

空空如也

1 2 3 4 5 ... 8
收藏数 154
精华内容 61
关键字:

关联启动管理有什么用