文档章节

部署开发镜像化的笔记(逐步整理)

月夜筱风
 月夜筱风
发布于 2016/12/13 00:29
字数 1125
阅读 37
收藏 1
点赞 0
评论 0

_让我们的开发环境镜像化搭建的记录(整理内容)

如果镜像需要定制化:建议直接拉取一个系统镜像然后自定义:

docker pull centos:7

可以参照: 基于docker官网镜像centos7配置Java运行环境

注意自定义的脚本中export的用法:

export JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=UTF8  -Duser.timezone=GMT+08"
exprot JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.141-2.6.10.1.el7_3.x86_64/
export PATH=$JAVA_HOME/bin:$PATH
sh /usr/tomcat/bin/catalina.sh run

1,准备tomcat镜像

(说明下,


![输入图片说明](https://static.oschina.net/uploads/img/201612/12234646_GDXC.png "在这里输入图片标题")

docker pull tomcat:8.0.36-jre8


编写dockerfile的时候推荐使用idea的插件:**Docker integration**

![输入图片说明](https://static.oschina.net/uploads/img/201612/12235412_eO3O.png "在这里输入图片标题")

### 1.1静态导入


(这个是一种方式,但是实际用起来这个会被代替掉,在这里只是说明有这种方式):

![输入图片说明](https://static.oschina.net/uploads/img/201612/12235040_2TRN.png "在这里输入图片标题")

而插件的效果为:

![输入图片说明](https://static.oschina.net/uploads/img/201612/12235054_RJ1Q.png "在这里输入图片标题")

其代码为:

#这是一个测试的DockerFile #auther lijunhao FROM tomcat:8.0.36-jre8

MAINTAINER lijunhao junhao.li@newtouch.cn COPY ./dockerDemo.war /usr/local/tomcat/webapps/


- 开始制作镜像

#########到所在目录下 cd dir ######制作镜像(注意后面有个.) docker build -t myweb:v1 .

校验:

![输入图片说明](https://static.oschina.net/uploads/img/201612/12235956_IwWc.png "在这里输入图片标题")

### 1.2动态挂载(推荐使用)

动态挂载的好处是可以通过命令去挂载到容器外的某个文件地址,不需要每次重新去制作镜像

Dockerfile的内容为:

#这是一个测试的DockerFile #auther lijunhao (VOLUME 表示容器内部的一个地址为挂载点) FROM tomcat:8.0.36-jre8

MAINTAINER lijunhao junhao.li@newtouch.cn VOLUME /usr/local/tomcat/webapps


- 开始制作镜像

#########到所在目录下 cd dir ######制作镜像(注意后面有个.) docker build -t myweb:v2 .


- 启动容器

docker run -itd -p 8086:8080 -v /opt/dockerDemo:/usr/local/tomcat/webapps myweb:v2


而进入容器的效果为:

![输入图片说明](https://static.oschina.net/uploads/img/201612/13002223_AAsK.png "在这里输入图片标题")

以上2者的验证为(由于使用的war包是一样的,在这里只用一张效果图图来表示):

**如果需要去掉包名的操作,请把源码放到ROOT文件挂载进去**

![输入图片说明](https://static.oschina.net/uploads/img/201612/13001618_nhhT.png "在这里输入图片标题")


### 2.关于mysql镜像(项目需要基本上都会有初始表以及初始数据)

![输入图片说明](https://static.oschina.net/uploads/img/201612/13225844_seCa.png "在这里输入图片标题")

分析MySQL 5.6的Dockerfile下方是链接:

[MYSQL-Dockerfile1](http://www.runoob.com/docker/docker-install-mysql.html)

[MYSQL-Dockerfile2](http://www.runoob.com/docker/docker-install-mysql.html)

其有一行为:

RUN mkdir /docker-entrypoint-initdb.d

并会在下面**循环**执行mysql脚本:

![输入图片说明](https://static.oschina.net/uploads/img/201612/13234719_9EtE.png "在这里输入图片标题")

总和以上,使用动态挂载功能,初始化脚本放在 /opt/mysqlsql,数据库date放在 /opt/mysqldata:

脚本数据为:

![输入图片说明](https://static.oschina.net/uploads/img/201612/13235221_aWo8.png "在这里输入图片标题")

docker run --name mysql-test -v /opt/mysqlsql:/docker-entrypoint-initdb.d -v /opt/mysqldata:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=1234 -itd eda6a4884645

测试的结果为:

![输入图片说明](https://static.oschina.net/uploads/img/201612/13235001_v1gt.png "在这里输入图片标题")

### 3,openfire镜像

docker pull sameersbn/openfire:3.10.3-16


启动镜像(这里的端口映射到外面的端口最好是一样的,否则在使用的时候无论是跳转还是功能比较容易出错):

docker run --name openfire -d --restart=always
--publish 9090:9090 --publish 5222:5222 --publish 7777:7777
--volume /opt/docker/openfire:/var/lib/openfire
sameersbn/openfire:3.10.3-16


### 4,gitlab镜像

最全资料请在下方链接

[docker-gitlab最全攻略](https://github.com/sameersbn/docker-gitlab)

https://github.com/sameersbn/docker-gitlab


### 5.书写compose

**5.1,简介

 Compose可以把各个容器关联起来,是用来定义一个或者多个容器应用的工具。适合在单机环境中部署一个或者多个容器,并自动把多个容器关联起来
 用YML文件来定义多容器应用,使用docker-compose up 使应用运行起来,本质上来说:Compose把YML文件转成docker命令参数,通过解析容器之间的依赖关系来顺序地启动容器。
每个定义的服务都至少包含build和image两个命令中的一个,build是要在执行的是docker build命令,image是直接启服务

© 著作权归作者所有

共有 人打赏支持
月夜筱风
粉丝 0
博文 53
码字总数 19574
作品 0
闵行
程序员
Docker学习笔记一 简介

写在前面 工作原因需要接触很火的Docker,所以开始这个系列的笔记。初步制定的学习教材是《第一本Docker书》,辅以一些网上材料,所以笔记先以此书为主要内容。 1.0 容器的简介 容器与管理程...

一万 ⋅ 2016/07/07 ⋅ 0

运维之我的docker(文章教程汇总)

大家docker如果已经可以正常运行以后就可以尝试这进行下面的操作了: 阿里云加速你的docker 运行你第一个镜像实例-docker容器 docker命令参数 docker仓库使用和镜像提交 docker镜像构建构建及...

qq850900633 ⋅ 2017/01/18 ⋅ 0

《第一本Docker》笔记(一)之Docker简介

一、Docker简介 1.Docker是一个能够把开发的应用程序自动部署到容器的开源引擎。Docker的特别之处:Docker在虚拟化的容器执行环境中增加了一个应用程序部署引擎。该引擎的目标就是提供一个轻...

余二五 ⋅ 2017/11/23 ⋅ 0

“镜像扫描+基于策略的镜像提升”,打造安全的 Kubernetes 供应链!

出品丨Docker公司(ID:docker-cn) 编译丨小东 每周一、三、五 与您不见不散! 上个月 Docker 企业版(EE)容器平台的测试发行版集成了可以与 Swarm 并存运行的 Kubernetes 编排,从而提供了...

1820521082361616 ⋅ 03/19 ⋅ 0

Docker

2017-05-19@erixhao技术极客TechBooster 很早就想写一篇关于Docker的文章了,但却久久未动笔,直到最近社区再无Docker了,在2017年4月17日的DockerCon17上,开源项目Docker变更为Moby,好吗,...

erixhao ⋅ 2017/05/26 ⋅ 0

基于容器技术的阿里云区块链优势和实现方法

以下内容根据演讲PPT及现场分享整理: 在2017年北京云栖大会的“开发者服务专场”上,阿里云高级技术专家余珊带来了《敏捷智连——基于容器技术的区块链业务创新》的精彩分享。分享中,他重点...

1993wang ⋅ 01/03 ⋅ 0

每天5分钟玩转Docker容器技术(二)

每天5分钟玩转Docker容器技术(一) 容器核心知识 本篇通过 Docker 讨论容器的核心知识。 概述 容器核心知识主要回答有关容器 What、Why 和 How 三个问题。其中 How 是重点,将从架构、镜像、...

阿里云云栖社区 ⋅ 2017/12/26 ⋅ 0

Docker怎样改造你的开发团队

Docker提升了软件测试的速度,毫无疑问,任何研发团队都应该选择它。下面我来告诉你为什么。 一直以来,部署测试环境是一个耗时并且繁杂的工作。即便测试环境中运行正确,开发、测试和生产环...

Mrexamo ⋅ 2015/09/17 ⋅ 1

从基础概念到数学公式,这是一份520页的机器学习笔记(图文并茂)

  机器之心整理   笔记作者:Jim Liang      近日,来自SAP(全球第一大商业软件公司)的梁劲(Jim Liang)公开了自己所写的一份 520 页的学习教程(英文版),详细、明了地介绍了机...

机器之心 ⋅ 04/30 ⋅ 0

读书笔记1---为什么使用Docker

Docker在开发与运维中优势 a) 更快速的交付和部署—使用Docker,开发人员可以使用镜像来构建一套标准的开发环境,测试和运维则可以直接使用。Docker可以快速创建和删除容器,实现快速迭代,大...

makeths ⋅ 2017/11/13 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

R计算IV

参考文章 #读取文件 rawdata = read.csv("/path/to/csv/file",header=T) colnames(rawdata)[18] <- "y" //重命名因变量y #数据分区 训练集测试集 trainIdx <- sample(nrow(rawdata), round(......

火力全開 ⋅ 5分钟前 ⋅ 0

SQL老司机,在SQL中计算 array & map & json数据

摘要: 场景 通常,我们处理数据,一列数据类型要么是字符串,要么是数字,这些都是primitive类型的数据。 场景 通常,我们处理数据,一列数据类型要么是字符串,要么是数字,这些都是primi...

阿里云云栖社区 ⋅ 5分钟前 ⋅ 0

SQL老司机,在SQL中计算 array & map & json数据

摘要: 场景 通常,我们处理数据,一列数据类型要么是字符串,要么是数字,这些都是primitive类型的数据。 场景 通常,我们处理数据,一列数据类型要么是字符串,要么是数字,这些都是primi...

猫耳m ⋅ 16分钟前 ⋅ 0

关于ireport自定义变量类型为list的时候

自己摸石头过河,我真的应该去趟市中心图书馆,借本真正靠谱的教材 网上的东西,只有0.01%是有用的,还有0.99%是垃圾,剩下的99%是垃圾的复制品。。 哎!~ 问题是这样的,报表带sql,从db中获...

炑炑milina ⋅ 17分钟前 ⋅ 0

Spring mvc ContextLoaderListener 原理解析

对于熟悉Spring MVC功能,首先应从web.xml 开始,在web.xml 文件中我们需要配置一个监听器 ContextLoaderListener,如下。 <!-- 加载spring上下文信息,最主要的功能是解析applicationContex...

轨迹_ ⋅ 17分钟前 ⋅ 0

阿里云发布企业数字化及上云外包平台服务:阿里云众包平台

摘要: 阿里云正式发布旗下众包平台业务(网址:https://zhongbao.aliyun.com/),支持包括:网站定制开发,APP、电商系统等软件开发,商标、商品LOGO、VI、产品包装设计、营销推广、大数据人...

阿里云官方博客 ⋅ 19分钟前 ⋅ 0

Redis安装异常解决办法

官网地址:http://redis.io/ 官网下载地址:http://redis.io/download 1. 下载Redis源码(tar.gz),并上传到Linux 2. 解压缩包:tar zxvf redis-2.8.17.tar.gz 3. 进入解压缩后的文件夹:c...

slagga ⋅ 23分钟前 ⋅ 0

006. 深入JVM学习—年轻代

1. 年轻代图片 年轻代(Young)属于JVM堆内存空间的一个组成部分 所有使用关键字new新实例化的对象一定会在伊甸园区进行保存,而对于存活区保存的一定是已经在伊甸园区存在一段时间并且经过了...

影狼 ⋅ 24分钟前 ⋅ 0

如何成为一个合格的程序员

偶尔的,我会被人问道:如何成为一名优秀的程序员,更或者,如何成为一名程序员。每次人们问起,我都力图给出不同的答案。因此,我的答案是各种各样的。下面就是我认为的成为一名优秀的程序员...

柳猫 ⋅ 25分钟前 ⋅ 0

cups error_log日志暴增

日志内容 File \"/usr/lib/cups/notifier/dbus\" has insecure permissions 解决(未验证适用范围) sudo service cups stopsudo rm /etc/cups/subscriptions.conf*sudo rm -r /var/cac......

一介码夫_Hum ⋅ 29分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部