精华内容
下载资源
问答
  • 容器部署解决方案Docker容器部署解决方案Docker容器部署解决方案Docker容器部署解决方案Docker容器部署解决方案Docker容器部署解决方案Docker容器部署解决方案Docker容器部署解决方案Docker
  • docker容器部署jenkins

    千次阅读 2018-05-14 12:36:32
    Jenkins 是一款流行的开源持续集成工具,广泛用于项目开发,具有自动化构建、测试和部署等功能。docker 容器则是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到...

    前言

    Jenkins 是一款流行的开源持续集成工具,广泛用于项目开发,具有自动化构建、测试和部署等功能。docker 容器则是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。
    简而言之,docker的理念是可将你的服务打包成为docker镜像,然后可以发布到任何可支持docker容器功能的机器上,当然除此之外还有许多的优点就不提了。
    由于我没有打包好的jenkins的docker镜像,就先演示一下用docker官方镜像部署jenkins。(操作基于centos7。)


    安装docker

    1.必须得先安装docker
    yum -y install docker

    2.启动docker
    systemctl start docker


    下载官方jenkins镜像

    1.由于docker镜像较大,可进入screen模式后操作(可跳过)

    screen -S install_jenkins(给新窗口的项目命名)
    CTRL + a d (可退出 当前窗口 )
    screen -ls (可查看已拥有screen编号)
    screen -r +screen编号 (可进入对应的项目)

    2.下载jenkins的docker镜像

    docker search jenkins (列出可下载jenkins镜像的版本)

    docker pull jenkins (默认下载最新版本)

    3.查看已有的docker镜像

    docker images

    [root@xxx ~]# docker images
    REPOSITORY TAG IMAGE ID CREATED SIZE
    docker.io/tomcat latest 33e02377a00f 4 weeks ago 554 MB
    docker.io/gitlab/gitlab-ce latest cb7f154f4459 4 weeks ago 1.43 GB
    docker.io/centos latest e934aafc2206 5 weeks ago 199 MB
    docker.io/jenkins latest 7b210b6c238a 7 weeks ago 801 MB
    docker.io/maven latest 76c9ab5df55b 7 weeks ago 737 MB
    docker.io/registry latest d1fd7d86a825 4 months ago 33.3 MB
    docker.io/kubernetes/pause latest f9d5de079539 3 years ago 240 kB


    创建jenkins的文件夹

    1.创建文件夹
    mkdir /home/jes/jenkins -p

    2.由于jenkins的官方的镜像的Dockerfile文件,将要挂载的文件夹的用户的uid和gid必需是1000,所以要更改文件夹的属主和属组,下面这个方法最直接。
    chown -R 1000:1000 /home/jes/jenkins/

    [root@xxx ~]# ll /home/jed/jenkins/ -d
    drwxr-xr-x 15 1000 1000 4096 May 14 11:38 /home/jed/jenkins/


    启动jenkins

    1.创建jenkins的docker容器
    docker run -itd -p 8080:8080 -p 50000:50000 --name jenkins --privileged=true -v /home/jed/jenkins/:/var/jenkins_home jenkins

    -p 8080:8080 -p 50000:50000 将端口映射 (注意端口占用问题)

    –privileged=true 将CentOS7中的selinux禁掉了,参数给容器加特权。

    -v /home/jes/jenkins:/var/jenkins_home 将本机创建的文件夹挂载到容器的/var/jenkins_home

    (注意凡是挂载,端口映射":" 左方的都为服务器真实所有,右侧的为容器所有)

    2.运行状态查看
    docker ps

    [root@xxx~]# docker ps
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    c0ab2bf1f344 jenkins “/bin/tini – /usr…” About an hour ago Up About an hour 0.0.0.0:8080->8080/tcp, 0.0.0.0:50000->50000/tcp jenkins

    [root@xxx ~]# netstat -lnput |grep 8080
    tcp6 0 0 :::8080 ::? LISTEN 4054/docker-proxy-c
    [root@xxx ~]# netstat -lnput |grep 50000
    tcp6 0 0 :::50000 ::? LISTEN 4044/docker-proxy-c


    jenkins首次界面配置

    1.初次时要输入管理员密码

    这里写图片描述

    将查找到的密码,输入其中(初次时存在initialAdminPassword文件,设定用户及密码后消失)
    cat /home/jed/jenkins/secrets/initialAdminPassword


    2.安装插件(左侧为默认安装;右侧为自选)

    这里写图片描述

    这里写图片描述

    这里写图片描述


    3.创建用户

    这里写图片描述

    这里写图片描述


    4.基本完成

    这里写图片描述

    jenkins的简易部署就此完成了,jenkins的操作请看下篇。

    展开全文
  • ubuntu下容器部署openstack

    千次阅读 2018-06-06 21:15:09
    引言 基本步骤 安装操作系统 其他软件依赖 安装ansible 安装docker 下载kolla-ansble的源码 环境配置 基本环境检查 执行部署 openstack服务验证 ...最近研究kolla项目,主要是用容器来自动部署o...

    引言

    这篇文章的目的是在一台物理机上利用kolla-ansible安装openstack单节点环境。
    最近研究kolla项目,主要是用容器来自动部署openstack组件。下面记录我在ubuntu下成功部署openstack-queens版本的过程。虽然说官网也有文档,叫quickstart,但是如果刚接触kolla-ansible,然后看那个quickstart,可能需要碰一些壁。因为它有些内容省略了,这篇文档可以作为一个补充吧。
    官网文档:
    https://docs.openstack.org/kolla-ansible/queens/user/quickstart.html

    • 软件版本控制
      |软件|查询命令| 版本|
      |—|–|—|
      |ubuntu|lsb_release -a |Ubuntu 16.04.4 LTS|
      |docker|docker --version|Docker version 18.05.0-ce, build f150324|
      |ansible|ansible --version|ansible 2.5.4|
      |openstack|none|stable/queens|

    基本步骤

    安装操作系统

    推荐 ubuntu16.04 server版本
    如果只有14.04的镜像,可以尝试升级啊,因为手边只有ubuntu14.04的光盘,所以从14.04升级到16.04,然后再安装openstack。升级完成后,pip出了点问题,但是百度一下就解决了。
    参考的网址:
    https://blog.csdn.net/dylloveyou/article/details/78232656

    更换软件源

    找到的一个可用的阿里源
    https://www.cnblogs.com/hcl1991/p/7894958.html

    deb-src http://archive.ubuntu.com/ubuntu xenial main restricted #Added by software-properties
    deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted
    deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted multiverse universe #Added by software-properties
    deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted
    deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted multiverse universe #Added by software-properties
    deb http://mirrors.aliyun.com/ubuntu/ xenial universe
    deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
    deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse
    deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse
    deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse #Added by software-properties
    deb http://archive.canonical.com/ubuntu xenial partner
    deb-src http://archive.canonical.com/ubuntu xenial partner
    deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted
    deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted multiverse universe #Added by software-properties
    deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
    deb http://mirrors.aliyun.com/ubuntu/ xenial-security multiverse
    

    其他软件依赖

    apt-get update
    apt-get install -y python-pip
    pip install -U pip
    apt-get install -y python-dev libffi-dev gcc libssl-dev python-selinux
    

    安装ansible

    如果用apt来安装,装的是2.0.0.2版本,而用pip安装,装的是2.5.4。建议用高版本的吧。pip会自动把apt装的低版本的ansible卸载掉,然后成功安装最新版本的ansible。

    pip install -U ansible
    

    安装docker

    有一個簡單的方式直接安裝docker。并且版本也是符合要求的。

    sudo apt-get install docker.io
    

    另一個方式可以是,安裝阿里云上的教程来下载docker-ce,最新版本即可

    curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
    

    这个脚本有时候在晚上的时候无法执行,不知道为什么。下面提供一个详细版本的。一步步执行也能够成功安装

    # step 1: 安装必要的一些系统工具
    sudo apt-get update
    sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
    # step 2: 安装GPG证书
    curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
    # Step 3: 写入软件源信息
    sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
    # Step 4: 更新并安装 Docker-CE
    sudo apt-get -y update
    sudo apt-get -y install docker-ce
    
    # 安装指定版本的Docker-CE:
    # Step 1: 查找Docker-CE的版本:
    # apt-cache madison docker-ce
    #   docker-ce | 17.03.1~ce-0~ubuntu-xenial | http://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages
    #   docker-ce | 17.03.0~ce-0~ubuntu-xenial | http://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages
    # Step 2: 安装指定版本的Docker-CE: (VERSION 例如上面的 17.03.1~ce-0~ubuntu-xenial)
    # sudo apt-get -y install docker-ce=[VERSION]
    

    安装加速器

    sudo mkdir -p /etc/docker
    sudo tee /etc/docker/daemon.json <<-'EOF'
    {
      "registry-mirrors": ["https://j2ed47d8.mirror.aliyuncs.com"]
    }
    EOF
    sudo systemctl daemon-reload
    sudo systemctl restart docker
    

    这里 注意,需要设置docker为mountflag=share(文档里没有提,但是prechecks的时候会报错)

    mkdir /etc/systemd/system/docker.service.d
    
    tee /etc/systemd/system/docker.service.d/kolla.conf << 'EOF'
    [Service]
    MountFlags=shared
    EOF
    

    测试下自己能不能正常使用docker hub

    docker search kolla
    

    下载kolla-ansble的源码

    这里用developing的方式来安装openstack,所以直接下载源码

    git clone https://github.com/openstack/kolla-ansible
    cd kolla-ansible
    git checkout stable/queens//切換到穩定的分支
    

    环境配置

    将必须的文件拷贝到相应的地方,有两个文件比较重要

    • /etc/kolla/*
      global.yml以及password.yml
    • /root/inventory/*
      all-in-one以及multinode
    cp -r kolla-ansible/etc/kolla /etc/kolla/
    mkdir /root/inventory/
    cp kolla-ansible/ansible/inventory/* /root/inventory/
    

    修改配置文件

    1. 修改/etc/host
      添加自己主机名对应的ip地址。一般是用于rabbitmq。
    2. 修改global.yml,除了修改自己的网络配置以外,如果要添加其他服务,可以enable一下相关的配置。在部署的时候会拉取对应的容器并启动提供相关服务。最好看官网上你需要的服务关联的配置。
      这里写图片描述
      如果需要添加其他组件,查找对应的组件,并且enable相关的设置。这里启动了sahara组件、tacker组件以及neutron相关子服务。
      这里写图片描述
      還要修改network_interface: "ens33", neutron_external_interface: "ens34", enable_haproxy=no
    3. 安装一下requirement.txt里面的软件依赖 (文档没有提,但是后面执行会报错)
    pip install kolla-ansible/
    

    先安裝依賴包,後面執行的時候就不會報錯。

    1. 生成密码
    ./kolla-ansible/tools/generate_passwords.py
    
    如果自己想修改密码,可以修改/etc/kolla/password.yml文件。
    
    1. 如果是多节点的话修改inventory/multinode

    基本环境检查

    记住:prechecks成功不一定deploy成功,但是prechecks不成功deploy一定不成功
    漫长的等待,如果哪里报错就根据提示修改

    cd kolla-ansible/tools/
    ./kolla-ansible prechecks -vvv -i /root/inventory/all-in-one
    

    执行部署

    cd kolla-ansible/tools/
    ./kolla-ansible deploy -vvv -i /root/inventory/all-in-one
    

    openstack服务验证

    生成对应的身份认证信息,配置命令行的环境。后面运行命令行的时候会用到。

    kolla-ansible post-deploy
    chmod +x admin-openrc.sh
    . /etc/kolla/admin-openrc.sh
    

    下面是安装client客户端,然后就可以愉快的用命令行了。另外还提供了一个脚本来测试openstack的服务。但是注意的是,这里创建的外部网络只是一个例子,不符合实际的网络配置,因此你还是要自己改一下子网。

    pip install python-openstackclient python-glanceclient python-neutronclient
    ./init-runone
    

    对容器进行运维

    查看容器启动状态(UP/RESTART/DOWN…)

    docker ps
    

    查看镜像

    docker images
    

    debug 看日志
    进入fluentd容器(日志集中的容器)

    docker exec -it fluentd /bin/bash
    cd /var/log/kolla/
    

    然后要看的容器日志(举例:sahara_api)

    tail -f sahara/sahara-api.log
    

    退出fluentd容器

    exit
    

    修改配置文件,这里用root权限登录,没有密码没有密码没有密码!!!

    docker exec -u -0 -it <容器名称> /bin/bash
    docker exec -u -0 -it sahara_api /bin/bash
    

    进入配置文件目录(一般是/etc/组件名称)

    cd /etc/sahara/
    

    找到对应的配置文件然后修改
    我们还发现容器里面连文字编辑器都没有,由于用的是host网络,手动安装一下vim吧。

    apt-get update
    apt-get install vim
    

    改完之后退出容器,然后重启这个容器
    如果修改了ansible下的部署文件,用reconfigure可以避免将环境破坏掉,它会自动找到修改的容器,并且重新启动。
    reconfigure is VERY IMPORTANT!!!

    注意事项

    1. 明确你需要安装的openstack版本
      因为kolla是个开源的项目,因此不一定所有的版本都一直维护,一般只维护最新的三个版本,截止至目前(2018年6月),可以看到kolla-ansible项目有4个分支,分别是master, queens, ocata和pike。如果要找回以前的版本,可以看回releases里面的内容。但是之前尝试想要复现Mitaka版本,但是失败了。这里提醒一句,M版本以及之前的版本使用的docker、ansible的版本与N版之后的有区别哦。并且kolla-ansible对于软件依赖的版本很敏感,很多时候安装失败都是因为软件的版本不对导致。
      因此明确你要安装的版本,并且要将kolla-ansible切换到对应的分支,复制配置文件的时候最好也是用同一个版本的配置文件比较好。

    2. 为什么用docker hub来下载镜像
      我们这里不直接用kolla来构建镜像,而是从docker-hub中下载对应的镜像。当我尝试用kolla来构建镜像时,不但构建的时间很长,构建会出错,有几个镜像一直无法构建成功。然后通过docker info命令来查看镜像数量的时候多达三四百个。然而我们如果直接用从docker hub中拉取镜像,只会有我们要用到的镜像,镜像数量大大减小。后期通过docker export或者docker save将镜像导出即可,然后用于多节点部署,可以支持离线安装openstack。

    3. 尽管是stable分支,还是有bug的,要留心
      比如说我们运行的一个sahara的组件,但是在horizon上就不能正常显示。后面通过debug发现原来部署的register.yml里面写错了,把service_name写错了,导致endpoint无法正确写入、从horizon的日志中看到的无法找到对应的endpoint。最后的解决方法是修改register.yml文件,然后重新reconfigure。

    4. 开启eth1
      sudo ifconfig eth1 up
      因为用ifup eth1说是unknown interfaces,所以换了一种方式
      用ipaddr或者ifconfig查看网卡状态,看是否有RUNNING标志

    5. 报错:Cannot uninstall ‘PyYAML’. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
      我们现在需要找到PyYAML的安装文件,然后删掉它。重新执行安装软件依赖的操作。

    find /usr/lib/python2.7/dist-packages/ -type f -name '*.egg-info'
    

    后续工作

    操作系统方式是否成功
    centosall in oneyes
    centosmultinodeyes
    ubuntuall in oneyes
    ubuntumultinode暂未尝试

    后续工作可以尝试离线安装openstack,将镜像打包,然后通过部署节点-服务节点的方式来安装多节点模式。

    展开全文
  • 全栈化企业级容器应用解决方案 Rancher为容器提供一揽子基础架构服务:CNI兼容的网络服务、存储...全球领先的容器调度平台整合力 Rancher是全球唯一同时提供 Kubernetes、Swarm以及Mesos 的企业级分发版和企

    全栈化企业级容器应用解决方案

    Rancher为容器提供一揽子基础架构服务:CNI兼容的网络服务、存储服务、主机管理、负载均衡、防护墙……

    Rancher让上述服务跨越公有云、私有云、虚拟机、物理机环境运行,真正实现一键式应用部署和管理。

    全球领先的容器调度平台整合力

    Rancher是全球唯一同时提供 KubernetesSwarm以及Mesos 的企业级分发版和企业级支持的产品。 用户可以在统一界面之上按需选择和配置容器集群运行环境。

    轻松愉悦的Rancher DevOps之旅

    Rancher可以与各种CI/CD工具协同工作,可以实现开发、测试、预生产和生产环境的自动部署,提供整体可视化的主机、容器、网络及存储管理,大幅简化运维人员故障排除和生产部署的工作量。

    一键部署复杂的企业级应用

    Rancher首创的企业应用服务目录,让企业数据中心复杂的应用管理部署像使用AppStore一样简单,并同时支持私有部署和公有共享两种模式。


    展开全文
  • docker容器部署apollo方法

    千次阅读 2017-08-30 16:06:03
    因为我修改了源码,并且是部署在docker容器中的,所以我们从编译源码开始,一步一步的讲解部署方法。apollo原始的部署方法请参见:apollo分布式部署方法 1.准备工作 1.1 jdk apollo服务端:jdk1.8+ apollo客户端...

    上一篇介绍过apollo的架构和各个模块的功能,对apollo服务端和客户端的交互有了一定的初步认识,下面我们看一下怎么部署的。

    因为我修改了源码,并且是部署在docker容器中的,所以我们从编译源码开始,一步一步的讲解部署方法。apollo原始的部署方法请参见:apollo分布式部署方法

    1.准备工作

    1.1 jdk

    apollo服务端:jdk1.8+

    apollo客户端:jdk1.7+

    由于需要同时编译,所以需要jdk1.8+,安装方法在这里不说了

    1.2 maven

    编译使用maven编译,安装maven方法在这里不说了。

    1.3 数据库

    本例中用的是mysql数据库,需要5.6.5以上版本

    1.3.1 创建数据库

    Apollo服务端共需要两个数据库:apolloportaldbapolloconfigdb,我们把数据库、表的创建和样例数据都分别准备了sql文件,只需要导入数据库即可。sql脚本在下载源码中script/sql/中。

    1.3.2 调整服务配置

    1.3.2.1 apolloportaldb

    配置统一存储在serverconfig表中,配置项如下图:


    从上到下依次表示:

    (1).apollo.portal.envs - 可支持的环境列表

    默认值是dev,如果portal需要管理多个环境的话,以逗号分隔即可(大小写不敏感),如:

    DEV,FAT,UAT,PRO
    

    注意:只在数据库添加环境是不起作用的,需要配合修改scripts/build.sh,添加新增环境对应的meta server地址。

    (2).organizations - 部门列表

    Portal中新建的App都需要选择部门,所以需要在这里配置可选的部门信息,样例如下:

    [{"orgId":"TEST1","orgName":"样例部门1"},{"orgId":"TEST2","orgName":"样例部门2"}]
    (3).superAdmin - Portal超级管理员

    超级管理员拥有所有权限,需要谨慎设置。

    如果没有接入自己公司的SSO系统的话,可以先暂时使用默认值apollo(默认用户)。等接入后,修改为实际使用的账号,多个账号以英文逗号分隔(,)。

    (4).consumer.token.salt - consumer token salt

    如果会使用开放平台API的话,可以设置一个token salt。如果不使用,可以忽略。

    (5).wiki.address

    portal上“帮助”链接的地址,默认是Apollo github的wiki首页,可自行设置。

    (6).admin.createPrivateNamespace.switch

    是否允许项目管理员创建private namespace。默认是允许,如果关闭请设置值为“false”。

    1.3.2.2 apolloconfigdb

    配置统一存储在serverconfig表中,配置项如下图:


    从上到下依次表示:

    1.eureka.service.url - Eureka服务Url

    不管是apollo-configservice还是apollo-adminservice都需要向eureka服务注册,所以需要配置eureka服务地址。 按照目前的实现,apollo-configservice本身就是一个eureka服务,所以只需要填入apollo-configservice的地址即可,如有多个,用逗号分隔(注意不要忘了/eureka/后缀)。

    需要注意的是每个环境只填入自己环境的eureka服务地址,比如FAT的apollo-configservice是1.1.1.1:8080和2.2.2.2:8080,UAT的apollo-configservice是3.3.3.3:8080和4.4.4.4:8080,PRO的apollo-configservice是5.5.5.5:8080和6.6.6.6:8080,那么:

    1. 在FAT环境的ApolloConfigDB.ServerConfig表中设置eureka.service.url为:
    http://1.1.1.1:8080/eureka/,http://2.2.2.2:8080/eureka/
    
    1. 在UAT环境的ApolloConfigDB.ServerConfig表中设置eureka.service.url为:
    http://3.3.3.3:8080/eureka/,http://4.4.4.4:8080/eureka/
    
    1. 在PRO环境的ApolloConfigDB.ServerConfig表中设置eureka.service.url为:
    http://5.5.5.5:8080/eureka/,http://6.6.6.6:8080/eureka/
    

    注:这里需要填写本环境中全部的eureka服务地址,因为eureka需要互相复制注册信息

    2.namespace.lock.switch - 一次发布只能有一个人修改开关

    这是一个功能开关,如果配置为true的话,那么一次配置发布只能是一个人修改,另一个发布。


    1.4 环境

    可以搭建多套环境,本例只用了一个开发环境

    1.5 jenkins持续集成环境

    由于使用docker容器部署,所以需要使用jenkins将编译好的jar封装成镜像。

    2.编译

    2.1 下载源码:

    apollo原生源码下载地址:https://github.com/ctripcorp/apollo

    apollo修改源码后的下载地址:https://github.com/dewey-its/apollo-custom

    源码下载后的目录结构如图所示:


    2.2 修改编译文件build.sh

    # apollo config db info
    apollo_config_db_url=jdbc:mysql://your_mysql_ip:3306/apolloconfigdb?characterEncoding=utf8
    apollo_config_db_username=root
    apollo_config_db_password=mysql
    
    # apollo portal db info
    apollo_portal_db_url=jdbc:mysql://your_mysql_ip:3306/apolloportaldb?characterEncoding=utf8
    apollo_portal_db_username=root
    apollo_portal_db_password=mysql
    
    # meta server url, different environments should have different meta server addresses
    dev_meta=your_env_address
    fat_meta=your_env_address
    uat_meta=your_env_address
    pro_meta=your_env_address
    

    需要修改的部分如上所示,有数据库地址,用户名密码以及各个环境的meteServer的地址。

    2.3 编译

    将源码放在虚拟机上,使用命令cd apollo/scripts/进入脚本所在文件夹,此时可能没有权限执行build.sh,使用命令chmod a+x build.sh。最后执行./build.sh进行编译。

    出现如下几个日志说明编译成功:





    编译完成后或在每个模块下生成一个jar,主要的jar有:apollo-configservice.jar,apollo-adminservice.jar,apollo-portal.jar,apollo-client.jar,apollo-core.jar,apollo-buildtools.jar,分别在各自的模块target下。

    到这以后,生成的jar可以按照apollo官方给出的方式直接部署到服务器上。在往下的步骤是根据jar生成镜像。请继续向下阅读。

    3.构建

    分别构建apollo-configservice,apollo-adminservice,apollo-portal,由于三个步骤,文件结构都相同,此处以apollo-portal为例:

    3.1 目录结构为


    其中两个jar为上个步骤中编译生成的jar。Dockerfile为构建文件。scripts中存放启动脚本startup.sh。logs为日志目录。config为存放配置文件app.properties。apollo-jenkins.sh为jenkins使用,若直接使用docker build命令即可构建。


    Dockerfile内容:

    FROM registry.paas:443/admin/openjdk:8-alpine
    
    ADD ./ /apollo-portal/
    
    RUN sed -i '$d' /apollo-portal/scripts/startup.sh \
        && echo "tail -f /dev/null" >> /apollo-portal/scripts/startup.sh \
    	&& chmod a+x /apollo-portal/scripts/startup.sh
    
    EXPOSE 8557
    
    CMD ["/apollo-portal/scripts/startup.sh"]
    

    app.properties内容:由于修改了源码,app.properties必填

    app.id=hystrixdashboard
    local.meta=http://localhost:8555
    dev.meta=http://10.126.3.127:8555
    fat.meta=http://10.126.3.127:8555
    uat.meta=http://10.126.3.127:8555
    lpt.meta=http://10.126.3.127:8555
    pro.meta=http://10.126.3.127:8555


    4.部署

    将生成的apollo-configservice,apollo-adminservice,apollo-portal部署,随后访问apollo-portal的地址即可登录apollo配置中心。



    展开全文
  • 容器部署Ganglia并监控Hadoop集群

    千次阅读 2018-05-29 16:47:40
    网上有很多Ganglia部署的教程,每一个我都觉得繁琐,我的目的只是用来监控Hadoop测试集群,能即刻使用才是王道,于是我想到通过Rancher部署Ganglia应用服务(类似于我在上一篇文章中部署Jmeter容器集群的方式),以...
  • 使用容器部署静态(HTML)网站

    千次阅读 2017-11-23 09:37:49
    使用容器部署静态(HTML)网站 学习如何使用Nginx来创建一个用于运行静态HTML网站的Docker镜像,会解释如何构建一个运行Nginx与HTML网站的Docker镜像,目的是了解如何创建和运行我们自己创建的Docker镜像。 创建...
  • ARM全国产云平台部署容器实战

    万次阅读 2018-07-25 11:06:50
    如何基于国产CPU的云平台构建容器管理平台?    目录 第一节 基于国产CPU的服务器 2 第二节 国产云平台 6 1、安装云平台 9 1.1启动ARM服务器,从U盘启动 9 1.2 ARM服务器BIOS基本设置 10 第三节 基于...
  • 引言:在centos-7环境里,部署Java web应用到docker里的tomcat上面,但还要连接数据库才行,我们在这里实现把web应用部署到tomcat上面,并跟mysql容器进行连接,才算是真正的部署Java web应用程序。 1、首先必须先...
  • Jenkins+Gitlab+Docker实现微服务容器部署自动化 啥是容器部署自动化: 1. 容器:Linux容器不是模拟一个完整的操作系统,而是对进程进行隔离。有了容器,就可以将软件运行所需的所有资源打包到一个隔离的容器中...
  • 把应用的依赖关系封装到容器中 这是啥意思 为什么就可以跨平台? 和主机共享内核是说CPU 网卡 硬盘等共享吗
  • docker@boot2docker:~dockerrun−d−p8400:8400−p8500:8500−p8600:53/udp−hclient1progrium/consul−joinJOIN_IP
  • 把spring boot项目生成的jar打成docker镜像并生成docker容器完成部署是比较简单方便的部署方式,而且部署过程很少会出错。 二、部署步骤 1.利用maven或者gradle完成打包工作,打成jar包的形式。 2.在项目中的任意...
  • docker容器部署tomcat服务及更新服务

    千次阅读 2018-07-25 10:08:36
    一、docker部署tomcat服务  上图是admin项目下的目录结构,Dockerfile内容如下: 镜像构建命令: 容器运行命令: 其中 -e后面是解决容器时区的问题,-v是容器与宿主机目录映射。 docker运行情况查看...
  • 生成容器 创建容器 docker run -d --name demo -p 8080:8080 -t demo:1.0.0 查看所有容器 docker ps -a 创建成功,运行容器 docker start demo 4.查看springboot docker容器运行日志 docker logs -f -t --tail 行数 ...
  • docker swarm 集群中指定容器部署节点

    千次阅读 2019-07-30 15:16:00
    在docker swarm 集群中,通常默认随机部署容器到各个节点上。但是,有时在部署中总会遇到,一些服务要指定在特殊的机器上。 如果碰到这种情况,我们可以利用docker-compose.yml文件中的deploy.placement....
  • docker 中 单容器和多容器部署

    千次阅读 2018-07-11 01:42:39
    容器应用部署实践说明:部署一个单页面的应用 参考网址:https://github.com/docker/labs/blob/master/beginner/chapters/votingapp.md1.启动容器会自动下载dockersanples/static-site镜像 2.启动容器 3.查看...
  • docker容器部署Spring Boot项目及更新

    千次阅读 2018-07-25 11:07:32
    一、部署spring boot项目服务  首先用docker pull命令拉取一个centos镜像。 项目服务器部署目录内容如下: 服务镜像yumoq/permission-client构建: permission-client容器运行: 正常启动。 二、...
  • 使用Docker容器搭建RuoYi-Vue前后端分离项目一、准备工作资源下载环境准备二、后端打包Maven依赖下载修改yml文件编译/打包三、前端打包npm依赖下载修改vue.config.js文件编译/打包四、Docker容器部署拉取基础镜像...
  • linux下使用docker容器部署web应用

    千次阅读 2020-01-19 13:31:14
    Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。...
  • Docker Tomcat容器部署web应用(war)

    千次阅读 2017-11-12 19:49:15
    创建tomcat容器docker run tomcat --name mytomcat -p 8080:8080 -d进入容器内部交互式的进入tomcat容器。“docker exec”命令表示在运行中的容器中开启一个新的进程。查看到webapps路径为:/usr/local/tomcat/...
  • Jenkins自动化部署容器

    千次阅读 2018-08-02 08:56:09
    上一篇文章《Dockerfile配置APM监控实现Java容器的性能监控》实现了在tomcat容器部署APM监控,就着这个话题我们继续扩展一下如何自动化部署。关于自动化部署容器,最常用到的是Jenkins,公司也有相关环境。但是...
  • 项目docker容器部署步骤

    千次阅读 2017-05-27 14:50:46
    Docker在部署时的一些基本步骤(主要针对我公司的项目环境): 1.项目中存在不需要使用容器化的服务,所以请安装jdk7、redis、mq、zookeeper、dubbo控制台 ...以下是时代智囊在容器部署中的一些批处理
  • 今天遇到一个问题,我们用docker容器部署springboot的应用程序,当我们跨机器调用服务时,会出现无法调用到服务。经过排查出现问题的原因如下: 1、Aservice使用docker部署,注册到zk上的ip地址为172.17.0.5(这是...
  • WordPress是使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。也可以把 WordPress当作一个内容管理系统(CMS)来使用。——具体详细说明请参考百度百科 通过实战部署...
  • 由于.net本身就是运行在windows平台的,所以它与windows容器也是更加适合,你可以以iis镜像为基础,去编写你的Dockerfile文件,从而去构建你的.net项目镜像。 1.两个现成的例子 .net console程序 docker run --rm...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 330,296
精华内容 132,118
关键字:

容器部署平台