• 应用docker化


    1)首先安装源代码工具Git。 
    [root@master~]# yum install-y git 
    2)从GitHub上下载示例的Java应用源代码。 
    [root@master~]# cd/opt 
    [root@masteropt]# git clone https://github.com/nichochen/mybank-demo-maven 
    3)准备编译和构建环境。 
    安装应用构建所需的Java开发工具包JDK及构建工具Maven。 
    [root@masteropt]# yum install-y maven 
    4)通过构建工具编译及构建应用。 
    [root@masteropt]#cd mybank-demo-maven/ 
    [root@mastermybank-demo-maven]# mvn package 
    构建完毕后,将在target目录下生成一个WAR包ROOT.war。 
    [root@mastermybank-demo-maven]# ls target/ 
    classesmaven-archiverROOTROOT.warsurefire 
    5)选择满足应用运行要求的基础容器镜像,或者从基础的操作系统镜像开始安装和构建。为了方便,这里选择Tomcat7的官方镜像tomcat:7.0.70-jre7-alpine。一般推荐预先把镜像下载到本地,以方便本地调试。 
    [root@mastermybank-demo-maven]# docker pull tomcat:7.0.70-jre7-alpine 
    6)编写Dockerfile。 
    这个例子中我们的逻辑比较简单,就是把构建好的应用部署包拷贝到发布目录。 
    Dockerfile示例如下。 
    [root@mastermybank-demo-maven]#cat Dockerfile 
    FROMtomcat:7.0.70-jre7-alpine 
    ADD./target/ROOT.war/usr/local/tomcat/webapps/mybank.war 
    7)执行DockerBuild构建镜像。 
    把镜像命名为mybank-tomcat。在没有指定镜像的tag的请求下,默认的标签为latest。 
    [root@mastermybank-demo-maven]# docker build -t mybank-tomcat. 
    SendingbuildcontexttoDockerdaemon4.194MB 
    Step1:FROMtomcat:7.0.70-jre7-alpine--->ffe5379d7563 
    Step2:ADD./target/ROOT.war/usr/local/tomcat/webapps/mybank.war--->113cc34fc0e4Removingintermediatecontainerf04b6e3a9989 
    Successfullybuilt113cc34fc0e4 
    构建完毕后,可以看见刚才DockerBuild生成的新镜像09cf49110ce2。 
    [root@mastermybank-demo-maven]# docker images | grep mybank-tomcat 
    mybank-tomcatlatest09cf49110ce22minutesago149.4MB 
    8)测试镜像。 
    通过dockerrun命令测试新创建的镜像。这里通过参数-p8080:8080把容器的8080端口映射到主机的8080端口,以方便测试。 
    [root@mastermybank-demo-maven]# docker run -it --rm -p8080: 8080 mybank-tomcat 
    容器启动完毕后,可以通过curl或浏览器测试应用是否工作正常。
    [root@mastermybank-demo-maven]#curl http://master.example.com:8080/mybank/ 
    9)推送镜像。测试通过后,下一步将把镜像发布到相应的镜像仓库中。先通过docker tag创建指向目标镜像仓库的镜像名称,然后通过docker push推送镜像至目标仓库。 
    [root@master~]#docker tag mybank-tomcat:latest registry.your-registry.com/mybank-tomcat:latest 
    [root@master~]#docker push registry.your-registry.com/mybank-tomcat:latest 
    通过以上的步骤完成了一个简单应用的容器化。在没有特殊需求的情况下,容器化过程不算复杂。
  • 相关阅读:
    YARN调度器(Scheduler)详解
    eaysui datagrid编辑时表格变宽变形问题解决
    超简单!两步实现Wordpress评论微信通知~
    基于混合模型的语音降噪效果提升
    无线路由器,86式墙壁路由器,连接时,子路由器不能上网
    vue 动态绑定NavMenu 导航菜单(两级)
    SVN代码迁移至Gitlab(保留日志)
    Spring Boot 获取项目路径或文件
    Spring Boot使用 @Async 注解进行异步调用
    【DVWA】安全测试工具之BurpSuite
  • 原文地址:https://www.cnblogs.com/muzinan110/p/9234250.html
Copyright © 2020-2023  润新知