温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

docker怎么部署Web项目

发布时间:2021-12-14 13:37:02 来源:亿速云 阅读:389 作者:iii 栏目:服务器

这篇文章主要介绍“docker怎么部署Web项目”,在日常操作中,相信很多人在docker怎么部署Web项目问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”docker怎么部署Web项目”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

首先介绍docker中三个基本概念:

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

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

<hr  font-size:15px;white-space:normal;background-color:#ffffff;"="">

  • 首先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 种网络模式:

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

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

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


    • host 模式

    • container 模式

    • none 模式

    • bridge 模式

  • 创建容器并指定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				
    上面创建的容器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 .即可。

到此,关于“docker怎么部署Web项目”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI