服务镜像化操作手册--以及kettle docker化部署0…0
title: 服务镜像化操作手册--以及kettle docker化部署0…0tags: 操作手册,linux系统下操作grammar_cjkRuby: truespring boot docker构建1 将一个简单实例构建成docker服务.1.在sts,或者idea等其他编译器下将项目打包成jar包.2.创建一个新的目录(非必需),将打包好的jar包拷贝到当前的目录下....
·
title: 服务镜像化操作手册--以及kettle docker化部署0…0
tags: 操作手册,linux系统下操作
grammar_cjkRuby: true
spring boot docker构建
1 将一个简单实例构建成docker服务.
1.在sts,或者idea等其他编译器下将项目打包成jar包.
2.创建一个新的目录(非必需),将打包好的jar包拷贝到当前的目录下.
3.在当前目录下创建Dockerfile文件,操作如下
touch Dockerfile
vim Dockerfile
## 内容如下:
FROM frolvlad/alpine-oraclejdk8:slim 环境
VOLUME /data/docker/dy/config
ADD docker-yun.jar app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
Dockerfile详情参考网址
4.开始构建镜像,注意最后的 .,代表着构建当前目录下的项目
docker build -t dyun5 .
5. 查看镜像
[docker@m2 ~]$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
dyun5 latest 266ba34fceb8 About an hour ago 182MB
6. 开始启动docker镜像,使用宿主目录中的配置文件进行启动,将5002端口映射成8080 -d 后台运行
docker run --name dyun5s -v /data/docker/dy/config/application.yml:/config/application.yml -p 8080:5002 -d dyun5
7. 查看启动的镜像,如下表示镜像已经启动成功
[docker@m2 dy]$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c0d076b1ea32 dyun5 "java -Djava.securit…" 37 minutes ago Up 25 seconds 0.0.0.0:8080->5002/tcp dyun5s
8.访问
[docker@m2 ~]$ curl http://localhost:8080/ask/contend -X POST -H "Content-type=application" -d '{}'
{"rp":"谢谢进行访问","contend":"你是最帅的吗?请回答:默认回答"}
9.就此spring boot docker化阶段部分完成
ketter docker构建
将kettle 脚本放在 Dockerfile 同一目录下.
Dockerfile内容如下:
FROM centos:7 ##官方镜像
ADD solr_update solrup
ENV LANG C.UTF-8
ENTRYPOINT ["/solrup/start_job.sh"] 执行的脚本
使用上述的构建方法进行镜像的构建
这里kettle的启动脚本需要引入环境变量(结合docker的启动命令)
export JAVA_HOME=/jdk
export PATH=$JAVA_HOME/bin:$PATH
kettle_home=/kettle
...省略...
val_sh=$kettle_home'/kitchen.sh -file=/solrup/solr_update_job.kjb -level=info -logfile=/log/solr.log'
echo '执行的脚本 >>>:' $val_sh
eval $val_sh
docker的启动命令:
docker run --name solrx -v /home/test/data-integration:/kettle -v /data/jdk/jdk:/jdk -v /data/docker/log:/log solrx
-v 将宿主机的jdk,kettle的安装目录,日志路径挂载到容器中,kettle启动脚本中的环境变量使用的目录使用映射的路径
kettle中尽量避免使用中文.毕竟省心一些
回复:
### Dockerfile
FROM centos:7 ##官方centos7镜像
ADD solr_update solrup
ADD $JAVA_HOME /jdk #加入jdk环境
ADD $KETTLE_HOME /kettle #加入kettle环境
ENV LANG C.UTF-8
ENTRYPOINT ["/solrup/start_job.sh"] #执行的脚本
### start_job.sh
export JAVA_HOME=/jdk
export PATH=$JAVA_HOME/bin:$PATH
kettle_home=/kettle
...省略...
val_sh=$kettle_home'/kitchen.sh -file=/solrup/solr_update_job.kjb -level=info -logfile=/log/solr.log'
echo '执行的脚本 >>>:' $val_sh
eval $val_sh
## 构建镜像
docker build -t solrx . ## 在Dockerfile目录下
##启动镜像
docker run --name solrx -v /data/docker/log:/log solrx
## 目录结构
solrUp/
├── Dockerfile
└── solr_update
├── solr_update_job.kjb
├── start_job.sh
├── zhuanhuan01.ktr
└── 触发solr更新.ktr
时区:-e TZ=“Asia/Shanghai”
更多推荐
已为社区贡献1条内容
所有评论(0)