精华内容
下载资源
问答
  • 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的操作请看下篇。

    展开全文
  • 容器部署服务有很多优点,在实际工作中,zookeeper又是分布式系统必不可少的工具,下面根据实际情况介绍一下容器部署zookeeper集群的方法。 环境介绍: 镜像:镜像是自己制作的,CentOS Linux release 7.6.1810...

    容器化部署服务有很多优点,在实际工作中,zookeeper又是分布式系统必不可少的工具,下面根据实际情况介绍一下容器化部署zookeeper集群的方法。

    环境介绍:

    • 镜像:镜像是自己制作的,CentOS Linux release 7.6.1810 (Core)+JDK1.8.0_212
    • 宿主机环境:CentOS Linux release 7.4.1708 (Core)
    • zookeeper版本:3.6
    • 容器环境:docker或podman,但是podman环境中的host网络模型并未进行测试。

    单机集群搭建

    zoo.cfg配置文件内容为:

    tickTime=2000
    
    initLimit=10
    
    syncLimit=5
    
    dataDir=data
    
    clientPort=2181
    
    server.1=10.88.0.11:2888:3888
    server.2=10.88.0.12:2888:3888
    server.3=10.88.0.13:2888:3888
    #3.5.5版本以后zookeeper内置了jetty服务器,默认使用8080端口,该配置用于禁用该服务
    admin.enableServer=false
    

    在单机模式下,推荐绑定容器环境自身的网络,或者也可以采用host网络模型(后面会说明),不推荐绑定127.0.0.1、localhost、本机IP。
    server.id配置项中的IP可以自定义,或0.0.0.0。
    容器创建命令:

    docker run -d -v /root/zookeeper_cluster/zookeeper01:/workdir -p 2181:2181 --ip 10.88.0.11 --name zookeeper01 {镜像名称}
    

    在docker环境下,由于可以自定义网络模型,-ip配置项可以自定义。但是podman环境中并未找到网络模型的设置项(未注册),其默认的网络模式网关为10.88.0.1,当然,这个也只是我这边机器的情况,不保证所有设备中的均是如此。

    多机集群搭建

    使用host网络模型

    zoo.cfg配置如下:

    tickTime=2000
    
    initLimit=10
    
    syncLimit=5
    
    dataDir=data
    
    clientPort=2181
    
    admin.enableServer=false
    
    server.1={节点1IP}:2888:3888
    server.2={节点2IP}:2888:3888
    server.3={节点3IP}:2888:3888
    

    该情况下,server.id配置项中请填入各节点实际IP。
    容器创建命令:

    docker run -d -v /root/dockerContainer/zookeeper:/workdir --net host --name zookeeper {镜像名称}
    

    从创建命令中可以看出,使用host网络模型,不需要再命令中指定端口映射,容器使用的端口与主机一致。
    该模式介绍如下:

    • 容器与主机在相同的网络命名空间下面,使用相同的网络协议栈,容器可以直接使用主机的所有网络接口。
    • host 模式 不能使用端口映射和自定义路由规则,这些都与主机一致,-p 与-icc 参数是无效的。
    • host 模式下面的网络模型是最简单和最低延迟的模式,容器进程直接与主机网络接口通信,与物理机性能一致。
      其特点如下:
    • host 模式简单并且性能高。
    • host 不利于网络自定配置和管理,并且所有主机的容器使用相同的IP。也不利于主机资源的利用。
    • 对网络性能要求比较高,可以使用该模式。否则应该使用其他模式。
      具体请参考docker 网络-host

    其它网络模式

    节点1中的zoo.cfg配置如下,其余节点依此类推:

    tickTime=2000
    
    initLimit=10
    
    syncLimit=5
    
    dataDir=data
    
    clientPort=2181
    
    admin.enableServer=false
    
    server.1=0.0.0.0:2888:3888
    server.2={节点2IP}:2888:3888
    server.3={节点3IP}:2888:3888
    

    容器创建命令如下:

    docker run -d -v /root/dockerContainer/zookeeper:/workdir -p 2181:2181 -p 2888:2888 -p 3888:3888 --name zookeeper {镜像名称}
    
    展开全文
  • 前端容器部署方案

    2021-01-27 13:15:07
    前端容器部署方案,以vue项目为例,直接拉取vue项目的源码,将编译打包均放在服务器端进行,打包后的静态文件挂载进nginx镜像里,并替换掉nginx的配置文件,主要是为了解决路由history模式下刷新404的问题,镜像...
    • 前端容器化部署方案,以vue项目为例,直接拉取vue项目的源码,将编译打包均放在服务器端进行,打包后的静态文件挂载进nginx镜像里,并替换掉nginx的配置文件,主要是为了解决路由history模式下刷新404的问题,镜像制作完成后,完善yaml文件然后使用k8s进行部署,如此就完成了前端的容器化部署。

      前端容器化部署的思路和后端服务的容器化部署几乎一样,只是前端镜像均是挂载了前端代码文件的nginx镜像,后端服务是直接编译后制作出来的镜像。

      参考了网上的一些前端容器化部署方案,有些是本地进行编译打包再传到新的代码仓库,在服务端直接拉取打包完成的代码进行操作,这样的优点是在服务端部署时间会很快,缺点是每次都要手动编译打包后再传入另外的代码仓库,与我们自动化部署的理念不是很相符;

      本文采取的方案是将这一系列动作都放在了服务端进行,优点是可以达到完全的自动化部署效果,无需进行额外的手动操作,缺点是部署时间较长,一般来说编译和打包时间需要好几分钟。
      在这里插入图片描述

    展开全文
  • linux下使用docker容器部署web应用

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

    在这里插入图片描述
    一、认识docker

    Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。

    Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

    容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

    在这里插入图片描述
    二、Docker的应用场景

    Web 应用的自动化打包和发布。

    自动化测试和持续集成、发布。

    在服务型环境中部署和调整数据库或其他的后台应用。

    从头编译或者扩展现有的 OpenShift 或 Cloud Foundry 平台来搭建自己的 PaaS 环境。

    三、Docker 的优点

    Docker 是一个用于开发,交付和运行应用程序的开放平台。Docker 使您能够将应用程序与基础架构分开,从而可以快速交付软件。借助 Docker,您可以与管理应用程序相同的方式来管理基础架构。通过利用 Docker 的方法来快速交付,测试和部署代码,您可以大大减少编写代码和在生产环境中运行代码之间的延迟。

    1、快速,一致地交付您的应用程序

    Docker 允许开发人员使用您提供的应用程序或服务的本地容器在标准化环境中工作,从而简化了开发的生命周期。

    容器非常适合持续集成和持续交付(CI / CD)工作流程,请考虑以下示例方案:

    您的开发人员在本地编写代码,并使用 Docker 容器与同事共享他们的工作。

    他们使用 Docker 将其应用程序推送到测试环境中,并执行自动或手动测试。

    当开发人员发现错误时,他们可以在开发环境中对其进行修复,然后将其重新部署到测试环境中,以进行测试和验证。

    测试完成后,将修补程序推送给生产环境,就像将更新的镜像推送到生产环境一样简单。
    在这里插入图片描述

    四、好了简单介绍了下docker,下面进入正题

    1、linux系统centos7.2 作为宿主机

    2、安装docker容器

    步骤:

    2.1、安装需要的依赖包–命令:sudo yum install -y yum-utils device-mapper-persistent-data lvm2

    2.2、设置阿里云镜像源–命令:sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

    2.3、安装 Docker-CE–命令:sudo yum install docker-ce

    2.4、启动docker服务–命令:service docker start

    好了到这里docker容器已经下载安装好了,下面就可以在docker里安装需要的环境了。
    在这里插入图片描述
    3、docker基本命令

    3.1、设置docker开机自启动–命令:sudo systemctl enable docker

    3.2、docker重启动–命令:docker restart docker容器名

    3.2、查看运行的容器–命令:docker ps 【正在运行的docker容器】

    3.3、查看所有的容器–命令:docker ps -a【包含已经停止的容器】

    3.4、指定容器启动–命令:docker start -i docker容器名

    3.5、删除docker容器–命令:docker rm docker容器名

    3.6、创建并启动docker容器–命令:docker run -p 0.0.0.0::8888:80 -it --name=sx centos /bin/bash

    此处说明:设置docker容器端口映射四种方式:

    3.6.1、docker run -p 80 -i -t centos /bin/bash 【该方式指定容器端口-宿主机端口随机】

    3.6.2、docker run -p 8080:80 -i -t centos /bin/bash【该方式指定宿主机端口:容器端口】

    3.6.3、docker run -p 0.0.0.0:80 -i -t centos /bin/bash 【该方式指定宿主机IP:容器端口】

    3.6.4、docker run -p 0.0.0.0:8888:80 -i -t centos /bin/bash 【该方式指定宿主机IP:端口:容器端口】常用这种方式

    通过3.6.4命令创建好容器后,外部可以通过访问宿主机IP:8080端口映射到docker容器的80端口。

    3.7、守护式容器快捷退出键:CTRL+Q CTRL+P【此快捷键退出后,程序后台正常运行】

    3.8、docker利用iptables防火墙技术实现用户IP权限访问。

    3.9、查看docker信息–命令:docker inspect docker容器名

    3.10、进入运行的docker容器–命令:docker attach docker容器

    3.11、Linux与docker之间的文件传输–命令:

    3.11.1:–宿主机Linux文件复制到容器docker中的命令:docker cp 要拷贝的文件路径 容器名:要拷贝到容器里面对应的路径

    示例:docker cp /opt/test.js testtomcat:/usr/local/tomcat/webapps/test/js

    3.11.2–docker容器复制到宿主机Linux中的命令:docker cp 容器名:要拷贝的文件在容器里面的路径 要拷贝到宿主机的相应路径

    示例:docker cp testtomcat:/usr/local/tomcat/webapps/test/js/test.js /opt

    3.12、查看所有TCP端口–命令:netstat -ntlp

    4、docker容器部署vue前端web项目

    4.1、进入docker容器:docker attach sx【docker容器名】 如图:
    在这里插入图片描述

    a.安装需要的环境,docker默认没有vim编译器–yum install vim

    b.安装nginx–yum install nginx

    c.窗口文件夹用于存放web项目–mkdir /var/webapps/html

    d.修改nginx的nginx.config配置文件路径,改为项目的/var/webapps/html/dist
    在这里插入图片描述

    e.启动nginx–命令容器内:nginx。启动后外部可通过宿主机的ip:8888[上面设置的]访问了。
    在这里插入图片描述
    更多技术分享和免费视频资料:请关注微信公众号获取–Coding测试
    在这里插入图片描述

    展开全文
  • 一、全容器部署 目前应该是几乎所有的容器云厂商在容器云交流和PoC时都强调所有组件都容器化。这样实施安装部署相对容易,一键部署、半小时搭建容器云平台。但我们在PoC测试中也发现了一些问题,比如容器资源分配...
  • 如果运行在物理机上,那么资源会最大程度的得到利用,但是会牺牲一定的隔离性及安全性,特别是在企业没有规范的CI/CD镜像交付流程时,不同租户的容器会相互影响。 如果运行在虚拟机上,那么隔离性和安全性都会强于...
  • 然而,大范围控制容器部署也会有一些并发症。容器肯定是跟资源相匹配的。这些挑战会导致集群管理和编排的并发需求。  集群管理工具是一个通过图形界面或者通过命令行来帮助你管理一组集群的软件程序。有了这个工具...
  • JBoss微容器(JBoss Microcontainer)是第二代JBoss内核架构,该架构集合第一代JBoss内核架构(纯JMX MBean)优点,加入了POJO Bean的概念,是一个轻量级的容器用来管理POJOs以及他们的部署,配置等。JBoss AS 6,...
  • 二、容器管理工具三、容器管理工具部署Docker3.1 docker 官网3.2 docker部署文档地址3.3获取YUM源3.4 启动docker3.5 配置镜像加速器四、容器...系统类容器镜像5.3 运行一个容器六、使用容器部署wordpress6.1准备部...
  • 本次分享主要是和大家交流基于Docker容器运行和部署OpenStack。那么,安装OpenStack都有哪些方法呢?对于很多刚接触OpenStack的新人而言,安装无疑是一大挑战,同时也直接提高了学习OpenStack云计算的技术门槛...
  • Docker容器部署Python应用

    千次阅读 2019-07-17 07:45:00
    简介Docker是目前主流IT公司广泛接受和使用的,用于构建、管理和保护它们应用程序的工具。容器,例如Docker允许开发人员在单个操作系统上隔离和运行多个应用程序,而不...
  • 文章目录什么是dockerdocker的优点docker image镜像Dockerfile 文件Dockerfile配置例子创建docker镜像docker container 容器模型部署参考和更多阅读 docker部署机器学习或深度学习模型正在成为企业大规模部署的一种...
  • Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可一致的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器是完全使用沙盒机制,相互之间不会有任何接口。几乎没有...
  • 目前为止将数据库容器化是非常不合理的,但是容器化的优点相信各位开发者都尝到了甜头,希望随着技术的发展能够更加完美的解决方案出现。 Docker不适合部署数据库的7大原因 1、数据安全问题 不要将数据储存在
  • 首先介绍容器部署之前先回顾一下以前的部署方法。以php语言,centos服务器为例,主要介绍方法三阿里云容器部署。 方法一:手动命令部署环境 ssh登录centos,搭建php+mysql+nginx+git/svn方式部署。 优点:拓展...
  • 2二、普元容器云与DevOps的部署设计 3三、面向微服务的部署设计 4四、容器组装化部署 5五、容器云集成之路 6六、结语 一、企业应用的部署发展 企业应用,指的是那些部署在企业的服务器上,为企业的生产与...
  • Azure应用部署方式对比

    千次阅读 2018-01-27 01:47:45
    如图azure环境应用托管方式对比1. app service + serverlessazure的app service支持几乎所有语言开发的web app,既可以手动使用publish profile部署,也可以使用vsts创建一个(CDCI)持续集成。都非常方便。而azure...
  • Tomcat的部署方式: 在部署的时候Tomcat是并行部署项目 可以参照:https://www.cnblogs.com/honger/p/10362774.html 描述符部署 deployDescriptors(configBase,configBase.list()) 通过指定地址部署,不用复制到...
  • maven项目部署到jetty容器中。

    千次阅读 2018-05-11 10:02:00
    使用maven工具可以大大提高工作效率,对于创建的web应用,需要部署容器(tomcat,jetty等)中才能够启动服务进行访问。jetty也是一种轻量级的容器,通过将应用部署在这里面,就可以访问web应用,介绍下如何将maven...
  • Docker容器使应用程序开发变得更容易,但在生产中部署容器可能会很难。 环境复杂性、生态系统易变性、跨不同分布式基础架构的部署…… 本文将为你解析生产环境部署容器的五大挑战及应对之策。
  • 本来想写"Eclipse Juno(j2ee)...之前的开发一直使用Tomcat作为servlet容器,最近公司的项目需要EJB容器,所以不得不看一下JBoss的部署方式。 [b]以下所说的JBoss都是5.10GA版本,免费的嘛,谁用谁知道。[...
  • 近两年,容器已经随着 Docker 技术的传播火遍全球,现在已经有越来越多的企业用户在开发、测试甚至生产环境中开始采用 Docker 等容器技术。然而,目前主流的 Docker 管理平台,比如 K8S,当企业想构建一套网络方案,...
  • ARM全国产云平台部署容器实战

    万次阅读 2018-07-25 11:06:50
    如何基于国产CPU的云平台构建容器管理平台?    目录 第一节 基于国产CPU的服务器 2 第二节 国产云平台 6 1、安装云平台 9 1.1启动ARM服务器,从U盘启动 9 1.2 ARM服务器BIOS基本设置 10 第三节 基于...
  • Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器 中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙盒机制,相互乊间丌 会有任何接口(类似 ...
  • 目前为止将数据库容器化是非常不合理的,但是容器化的优点相信各位开发者都尝到了甜头,希望随着技术的发展能够更加完美的解决方案出现。 Docker不适合部署数据库的7大原因 1、数据安全问题 不要将数据储存.
  • 最近我们的应用在着手上云,应用上云了,数据库怎么整?ITPub的这篇文章给我们解释了一些数据库为何不在容器部署的原因,参考一些。P.S. 文章链接如下:https://mp.weixi...
  • 本文说明了微服务架构的部署模式之一:每个容器一个服务实例。 场景 已经通过微服务架构的分解模式(参考按业务领域分解模式划分微服务),将整个应用程序划分为多个独立的微服务。 目标 每个服务由多个服务实例...
  • K8s和Docker的最大区别在于,它不推荐你使用命令行的方式直接运行容器,而是希望你通过YAML文件的方式,把容器的定义、参数、配置统统记录在一个YAML文件中,然后用这样一个指令把它运行起来。 $kubctl...
  • 【译者的话】本文分析介绍了三种主流的Kubernetes部署方式,为广大Kubernetes的使用者提供了很好的参考借鉴。 【烧脑式Kubernetes实战训练营】本次培训理论结合实践,主要包括:Kubernetes架构和资源调度原理、...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 48,200
精华内容 19,280
关键字:

容器部署方式的优点