docker部署Web项目(二)

部署运行你感兴趣的模型镜像

原文是在我的优快云上用markdown写的,copy过来造成格式不对,感兴趣的朋友可以看优快云上的原文http://blog.youkuaiyun.com/bat_os/article/details/72917779  。
上一篇中极其简略的介绍如何利用Docker部署web项目,思路是pull Linux镜像后,在此镜像的容器中部署web容器运行环境,然后利用此容器重新生成自己镜像。方法是可行的,会发现生成自己的镜像非常大。这篇文章主要介绍如果利用不同的容器共同构成项目部署环境。 
首先介绍docker中三个基本概念:

仓库:Docker仓库(Repository)类似与代码仓库,是Docker集中存放镜像文件的场所。 
镜像:Docker镜像(Image)类似于虚拟机的镜像,可以将他理解为一个面向Docker引擎的只读模板,包含了文件系统。 
容器:Docker容器(Container)类似于一个轻量级的沙箱子(因为Docker是基于Linux内核的虚拟技术,所以消耗资源十分少),Docker利用容器来运行和隔离应用。

以上名词解释均来自网络,理解这三个概念至关重要。


  • 首先pull,tomcat、mysql镜像到本地 

    docker pull hub.c.163.com/library/tomcat:latest 
    docker pull hub.c.163.com/library/mysql:latest 
  • 利用docker创建网络 
    docker run 创建 Docker 容器时,可以用 –net选项指定容器的网络模式,Docker 有以下 4 种网络模式:

    • host 模式
    • container 模式
    • none 模式
    • bridge 模式

    后来提供了docker network create直接创建网络(老版本不支持),不需要再用其他工具来为容器分配网络。下面就用docker创建网络方式来为容器指定ip,方便容器间通信。

    docker network create --subnet 192.168.31.0/24 --gateway 192.168.31.1 network0 
    				
    • 1
    • 1

    通过sudo docker network ls发现网络network0已经被创建,在宿主机上用ifconfig也可以查看到,名称可能不同。

  • 创建容器并指定IP

    创建mysql容器,并且命名、映射宿主机端口、指定IP、设置root密码、创建数据库、以bash方式交互运行: sudo docker run -d -p 3366:3306 --name mysql --net network0 --ip 192.168.31.10 -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_DATABASE=yunweather hub.c.163.com/library/mysql
    同样创建tocat容器: sudo docker run -d -p 8088:8080 --name tomcat --net network0 --ip 192.168.31.11 hub.c.163.com/library/tomcat
    				
    • 1
    • 2
    • 3
    • 4
    • 1
    • 2
    • 3
    • 4
    上面创建的容器mysql、tomcat处于同一网段下,可以通信。以上创建容器时参数设置,请参考镜像文档。
    映射宿主机端口号,外界访问时,指向容器中的服务,而且通过工具可以连接容器中的数据库,进行操作。 
  • 通过Dockerfile生成镜像 
    以上只是创建好了容器,但是tomcat中并没有部署项目,利用Dockerfile可以帮助生成新的镜像。思路大概是: 
    • 把web的war包或者webapp下的文件放入tomcat下webapp/下
    • 重新生成镜像
    • 生成容器
    • 启动服务 
      新建Dockerfile文件: 

      from hub.c.163.com/library/tomcat 
      MAINTAINER diy_os diy_os@163.com 
      COPY web.war /usr/local/tomcat/webapps 

      把war包放在同一目录下,执行sudo docker build -t ImageName:version .即可。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29876893/viewspace-2140507/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/29876893/viewspace-2140507/

您可能感兴趣的与本文相关的镜像

AutoGPT

AutoGPT

AI应用

AutoGPT于2023年3月30日由游戏公司Significant Gravitas Ltd.的创始人Toran Bruce Richards发布,AutoGPT是一个AI agent(智能体),也是开源的应用程序,结合了GPT-4和GPT-3.5技术,给定自然语言的目标,它将尝试通过将其分解成子任务,并在自动循环中使用互联网和其他工具来实现这一目标

在充满仪式感的生活里,一款能传递心意的小工具总能带来意外惊喜。这款基于Java开发的满屏飘字弹幕工具,正是为热爱生活、乐于分享的你而来——它以简洁优雅的视觉效果,将治愈系文字化作灵动弹幕,在屏幕上缓缓流淌,既可以作为送给心仪之人的浪漫彩蛋,也能成为日常自娱自乐、舒缓心情的小确幸。 作为程序员献给crush的心意之作,工具的设计藏满了细节巧思。开发者基于Swing框架构建图形界面,实现了无边框全屏显示效果,搭配毛玻璃质感的弹幕窗口与圆润边角设计,让文字呈现既柔和又不突兀。弹幕内容精选了30条治愈系文案,从“秋天的风很温柔”到“你值得所有温柔”,涵盖生活感悟、自我关怀、浪漫告白等多个维度,每一条都能传递温暖力量;同时支持自定义修改文案库,你可以替换成专属情话、纪念文字或趣味梗,让弹幕更具个性化。 在视觉体验上,工具采用柔和色调生成算法,每一条弹幕都拥有独特的清新配色,搭配半透明渐变效果与平滑的移动动画,既不会遮挡屏幕内容,又能营造出灵动治愈的氛围。开发者还优化了弹幕的生成逻辑,支持自定义窗口大小、移动速度、生成间隔等参数,最多可同时显示60条弹幕,且不会造成电脑卡顿;按下任意按键即可快速关闭程序,操作便捷无负担。 对于Java学习者而言,这款工具更是一份优质的实战参考。源码完整展示了Swing图形界面开发、定时器调度、动画绘制、颜色算法等核心技术,注释清晰、结构简洁,哪怕是初学者也能轻松理解。开发者在AI辅助的基础上,反复调试优化细节,解决了透明度控制、弹幕碰撞、资源占用等多个问题,这份“踩坑实录”也为同类项目开发提供了宝贵经验。 无论是想给喜欢的人制造浪漫惊喜,用满屏文字传递心意;还是想在工作间隙用治愈文案舒缓压力,或是作为Java学习的实战案例参考,这款满屏飘字弹幕工具都能满足你的需求。它没有复杂的操作流程,无需额外配置环境,下载即可运行,用最纯粹的设计传递最真挚的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值