Archive for the ‘技术’ Category

修改docker默认的存储位置

Monday, March 7th, 2016

下述过程都是在cenots 7.2上进行。 默认安装完成docker后 docker 的所有images及相关信息存储位置为:/var/lib/docker 而通常我们系统盘挂载盘一般不会很大,所以需要将其移到其他分区,我们可以采用软连接的方式来完成,示例,下面我们将其移到/home/dockerfile 目录下,具体方法如下: 首先暂停docker 服务 [root@localhost docker]# service docker stop 将文件移到指定目录: [root@localhost docker]# cd /var/lib/ [root@localhost lib]# mv docker/* /home/dockerfile [root@localhost dockerfile]# ln -s /home/dockerfile/ /var/lib/docker 查看一下,当前/var/lib/docker [root@localhost lib]# ls -la docker lrwxrwxrwx. 1 root root 17 Mar 7 21:28 docker -> /home/dockerfile/ OK,启动服务 [root@localhost lib]# service docker start 输入命令查看是否成功 [root@localhost […]

Docker构建tomcat镜像并发布web应用

Sunday, March 6th, 2016

该tomcat的构建基于上篇文章中sun server jre 8 一、编写Dockerfile文件 FROM jiucool/java:server-jre-8u74 ENV CATALINA_HOME /usr/local/tomcat ENV PATH $CATALINA_HOME/bin:$PATH RUN mkdir -p “$CATALINA_HOME” WORKDIR $CATALINA_HOME # see https://www.apache.org/dist/tomcat/tomcat-8/KEYS RUN set -ex \ && for key in \ 05AB33110949707C93A279E3D3EFE6B686867BA6 \ 07E48665A34DCAFAE522E5E6266191C37C037D42 \ 47309207D818FFD8DCD3F83F1931D684307A10A5 \ 541FBE7D8F78B25E055DDEE13C370389288584E7 \ 61B832AC2F1C5A90F0F9B00A1C506407564C17A3 \ 79F7026C690BAA50B92CD8B66A3AD3F4F22C4FED \ 9BA44C2621385CB966EBA586F72C284D731FABEE \ A27677289986DB50844682F8ACB77FC2E86E29AC \ A9C5DF4D22E99998D9875A5110C01C5A2F6059E7 \ DCFD35E0BF8CA7344752DE8B6FB21E8933C60243 \ F3A04C595DB5B6A5F1ECA43E3B7BBB100D811BBE \ F7DA48BB64BCB84ECBA7EE6935CD23C10D498E23 \ […]

Docker实践之自定义镜像、推送至远程docker hub

Saturday, March 5th, 2016

一、Dockerfile、Docker镜像和Docker容器的关系 在进行创建镜像之前,我们先了解一下这三者之间的关系。 Dockerfile 是软件的原材料,Docker 镜像是软件的交付品,而 Docker 容器则可以认为是软件的运行态。从应用软件的角度来看,Dockerfile、Docker 镜像与 Docker 容器分别代表软件的三个不同阶段,Dockerfile 面向开发,Docker 镜像成为交付标准,Docker 容器则涉及部署与运维,三者缺一不可,合力充当 Docker 体系的基石。 更多介绍可以移步这里:深入分析Docker镜像原理(点击链接查看) 二、创建自定义镜像的两种方式 使用commit命令创建本地镜像,我们在原有镜像基础上所做的修改应用commit命令之后 ,形成一个全新镜像,个人不太推荐此种做法,因为不便镜像的持续维护。 使用Dockerfile创建镜像,简单来说,就是我们编写好一个模板文件,编译之后就形成一个可用版本的镜像,后期我们只需维护该模板文件就可以达到镜像的持续更新、维护。 三、采用Dockerfile创建镜像(建立通用java环境镜像) 为了保持镜像通用与可维护 ,首先我们需要首先创建一个环境配置java镜像。具体Dockerfile编写如下: #首先设置我们基础镜像来源 FROM centos:latest #设置作者信息 MAINTAINER jiucool “www.jiucool.org” #下面是设置环境变量 ENV JDK_FILE_NAME server-jre-8u74-linux-x64.tar.gz ENV INSTALL_FOLDER /home/install ENV JDK_HOME /usr/local/jdk #执行相关命令 RUN mkdir ${INSTALL_FOLDER} RUN mkdir ${JDK_HOME} ADD ${JDK_FILE_NAME} ${JDK_HOME} ADD jdk.sh /etc/profile.d/ RUN chmod […]

如何进入正在运行中的Docker容器

Thursday, March 3rd, 2016

不论是开发者是运维人员,都有进入运行中的docker container 容器的需求,很多朋友采用了如下方法: 使用ssh登陆进容器。(前提是你在image里安装了sshd服务,不过明显违反了docker单一进程原则) 使用nsenter、nsinit等第三方工具进行。不觉得这种方法过于繁琐? 最规范的方法应该是用docker提供的原生命令 [jiucool@localhost ~]# docker exec -it 80b34cb68a70f275390ceef062afb96f75d8452ed1f0b35fe5a6b87ece00017e /bin/bash 操作完成后,直接 ctrl + d 或者直接输入 exit 退出即可。

Docker 基础入门与实践

Wednesday, March 2nd, 2016

一、Docker是什么? Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上。容器是完全使用沙箱机制。几乎没有性能开销,最重要的是,他们不依赖于任何语言、框架包括系统。 Docker先后赢得了Google、微软、Amazon、VMware等巨头的青睐,巨头们纷纷示意将保证自己平台与Docker容器技术的兼容性,作为国内最大的云服务商阿里云于2015年正式接口docker支持。 在Docker 1.0正式发布之前,就已经有3家主要银行将其投入到生产应用中,截止目前docker最新版本为:V1.10 二、目前docker主要应用场景 面向开发人员:快速开发、交付应用程序。在容器技术出现之前,公司往往是通过为开发人员提供一台或者多台虚拟机来充当开发测试环境。开发测试环境一般负载较低,大量的系统资源都被浪费在虚拟机本身的进程上了。docker容器几科没有任何CPU和内存上的额外开销,很适合用来提供公司内部的开发测试环境。而且由于docker镜像可以很方便的在公司内部分享,这对开发环境的规范性也有极大的帮助。 面向运维人员:降低运维成本。正如通过虚拟机来整合多个应用,Docker隔离应用的能力使得Docker可以整合多个服务器以降低成本。Docker通过镜像机制,将你的代码和运行环境直接打包成镜像,扔到容器启动即可,可快速部署、扩容。 面向企业:Docker本身就发家于PaaS,在Docker面向企业,是可以提供Paas层的实现;比如,扩展现有的OpenShift或Cloud Foundry平台来搭建自己的PaaS环境。 三、Docker相对于 VM 的主要优势 Docker应用容器相对于 VM 有以下几个优点: 启动速度快,docker通常在几秒内可以启动,而 VM OS本身启动就要一两分钟。 资源利用率高,性能开销小;一台普通8G内存PC 普通应用轻轻松松十几个,容器上运行的程序性能与原生相差无几。而启用十几个VM上基本不可能,VM 通常需要额外的 CPU 和内存来完成 OS 的功能,这一部分占据了额外的大量资源。 四、快速安装 这里以阿里云提供方式安装,系统以ceontos为例。 登录系统后执行 curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh – 稍等片刻即可安装完成(取决于你的网络环境)。 配置Docker加速器 可以使用如下的脚本将mirror的配置添加到docker daemon的启动参数中 # 系统要求 CentOS 7 以上,Docker 1.9 以上。 sudo cp -n /lib/systemd/system/docker.service /etc/systemd/system/docker.service sudo sed […]

Solr 5.1 版本中文分词IK-analyzer的使用

Sunday, May 17th, 2015

Solr 5.1 版本于2015.04 发布,进行了下体验,发现之前的4.X、3.X版本中,每次版本迭代,变化都不小,不说别的,基本的接口、参数都会发生变化,所以对于已有项目的Solr升级还是要慎重一些。 对于项目中的中文分词一直是用的IK-analyzer,而IK-analyzer最新版本为IK Analyzer 2012FF_hf1,该版本直接安装于solr 5.1是无法运行的,于是下载IK Analyzer 2012FF_hf1源码进行了部分修改重新打包。 重新安装试了下,完全OK没问题,需要的朋友可直接下载使用。地址为:IK-Analyzer-ForSolr5.1.zip


正在读取数据……