docker安装部署

公司的系统最近都需要docker来搞,所以楼主也是亚历山大,但是最终还是弄出来一点点东西,需要用到docker的读者在对照此文操作之前建议先在网上了解一下docker,当然是越多越好咯。

楼主在本地安装了一个centos7虚拟机来做测试:

1.安装docker

centos7虚拟机为例:

$ sudo yum install  -y docker


2.获取镜像:

先用docker search centos查找最新的镜像,挑选official标识为[OK]的镜像下载最新的centos7操作系统镜像:

$ sudo docker pull docker.io/centos

使用以上命令获取安装。


3.查看本地镜像:

$ sudo docker images

使用上述命令查看机器上已安装的docker镜像


REPOSITORY:镜像所属仓库;

TAG:镜像的标签信息;

IMAGE ID:镜像的ID号;

CREATED:镜像创建的时间

VIRTUAL SIZE:镜像大小。



4.制作java程序基础镜像

①.准备weblogicjdk安装文件:jdk-8u73-linux-x64.rpmwls1036_generic.jar,安装文件需放置某个目录下,比如/data/


②.启动镜像进入容器,并且映射内外目录:

$ docker run -it -v /data:/data  docker.io/centos  /bin/bash

 

③.安装jdk:

$ rpm -ivh /data/jdk-8u73-linux-x64.rpm

 

④.安装weblogic:

$ java -jar /data/wls1036_generic.jar

 

⑤.退出容器:

$ exit

 

⑥.查看容器id:

$ docker ps -a


.提交已修改的容器到一个新的镜像:

$ sudo docker commit 29eb60c2e54f java_base_image


5.生成业务程序镜像

.创建项目的打包目录

$ mkdir esb_project

.将源程序生成的war包拷贝至此目录

.编写Dockerfile:

 

#引用基础镜像名称

FROM  java_base_image   

 

#把本机lesb目录拷贝至镜像内的/home/weblogic/lesb目录

ADD lesb  /home/weblogic/lesb 

 

#config.xml拷贝至镜像的config目录

ADD config.xml /home/weblogic/user_projects/domains/base_domain/config/

 

将启动脚本拷贝至镜像内的根目录

ADD start.sh /

 

给该启动脚本赋执行权限

RUN chmod +x /start.sh

 

申明镜像内监听端口(可多个)

EXPOSE 7001

EXPOSE 7501

 

容器启动时自动执行的命令

CMD ["/start.sh"]

 

④编写镜像生成脚本

 

build.sh

#!/bin/bash

 

获取日期作为镜像tag

tag=`date +%Y%m%d%H`

利用当前目录下的Dockerfile生成镜像

docker build -t lesb:$tag .

 

将最新生成的镜像命名为latest

docker tag -f lesb:$tag lesb:latest

 

.编写镜像启动时的自动运行脚本

start.sh

#!/bin/bash

 

根据传入的环境变量生成营运程序的配置文件

CONFIG_PATH=/home/weblogic/lesb/WEB-INF/classes/url_router.properties 

 

为配置文件的配置项设置默认值

URL_POSROUTER=${URL_POSROUTER:=200.7.144.151:8902}

URL_SAS=${URL_SAS:="http://200.7.21.151:11112/router/pos"}

TPDU_CONFIG=${TPDU_CONFIG:=0002-200.7.144.151:5760,0701-200.7.144.151:4500}

 

将配置项的内容放置到变量CONFIG_CONTENT

CONFIG_CONTENT=`cat << EOF

### url

url_posrouter=$URL_POSROUTER

url_sas=$URL_SAS

 

### tpdu

tpdu_config=$TPDU_CONFIG

EOF`

 

将内容写到文件CONFIG_PATH

echo "$CONFIG_CONTENT" >> $CONFIG_PATH

 

启动应运程序

/home/weblogic/user_projects/domains/base_domain/bin/startWebLogic.sh

 

 

.编写运行已生成镜像的脚本

Run.sh 

docker run -d -p 7011:7001 -p 7501:7501 \  # 映射监听业务程序的端口号

        -e "URL_POSROUTER=200.7.144.153:8902" \  #

        -e ":URL_SAS=http://200.7.21.151:11113/router/pos" \

        -e "TPDU_CONFIG=0002-200.7.144.151:5760,0701-200.7.144.151:4501" \

        -v /etc/localtime:/etc/localtime \

        -v /data/lesb_log:/data/logs/esb/ \

        lesb  

 

7.执行构建脚本build.sh

 

8.执行run.sh



操作过程中遇到什么问题,随时欢迎留言咨询,谢谢!


你可能感兴趣的:(docker安装部署)