• docker 简单安装java web项目


    前言:

    Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。

    Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

    容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

    Docker由三部分组成:

    仓库(Repository):Docker用于存放镜像文件的仓库

    镜像(image):就是构建容器的源代码,是一个只读的模板,由一层一层的文件系统组成的,类似于虚拟机的镜像

    容器(Container):是由Docker镜像创建的运行实例,类似于虚拟机,容器之间是相互隔离的,包含特定的应用及其所需的依赖文件

    1、Docker 安装

       前提条件:

       Docker 要求 Ubuntu 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的 Ubuntu 版本是否支持 Docker。

       通过 uname -r 命令查看你当前的内核版本:

     

       1.1、切换到root用户,执行下apt-get update 将apt-get更新到最新版本

       1.2、使用apt-get install -y docker.io 下载docker

       1.3、下载好docker后,可以使用docker version查看docker版本:

         

        1.4 如果1.3中提示无法连接到docker deemon,可以使用service docker start 启动docker服务

     1.5 测试运行hello-world

      

      出现上图结果,表名ubuntu docker安装成功

      2、下载tomcat镜像

      2.1 使用 docker images 来列出本地主机上的镜像

         

        各个选项说明:

          1)REPOSITORY:表示镜像的仓库源

          2)TAG:镜像的标签

          3)IMAGE ID:镜像ID

          4)CREATED:镜像创建时间

          5)SIZE:镜像大小

        同一仓库源可以有多个 TAG,代表这个仓库源的不同个版本,如tomcat仓库源里,有7.0、8.0等多个不同的版本,我们使用 REPOSITORY:TAG 来定

        义不同的镜像。如果你不指定一个镜像的版本标签,将默认使用 latest 版本

      2.2 使用 docker pull 命令来下载(鉴于国内网络问题,后续拉取 Docker 镜像十分缓慢,我们可以需要配置加速器来解决,我使用的是网易的镜像

        地址:https://c.163.com/hub#/m/home/

        

      2.3 再使用 docker images 查看本地的docker 镜像

        

      3、制作镜像

      3.1 在用户目录下,创建docker目录,在docker目录下,创建一个images目录:

       

      3.2 将java web工程打包成war文件,导出方法可参考:https://blog.csdn.net/gaohuanjie/article/details/52354367

         楼主导出的war文件为seckill.war,然后放到images目录下

      3.3  在docker目录下,创建一个Dockerfile文件。文件内容如下:

        

        1、FROM,指定使用哪个镜像源

        2、MAINTAINER ,指定所有者及邮箱(也可以不写)

        3、COPY ,将本地文件(seckill.war)拷贝到tomcat/webapps下

      3.4  通过 docker build 命令来构建一个镜像

        

        参数说明:

          1)-t  指定要创建的目标镜像名(这里指定镜像名为seckill,tag为0.0.1)

          2). Dockerfile 文件所在目录

       3.5 使用docker images 查看创建的镜像已经在列表中存在,镜像ID为8eeedbd84830

         

       4、运行容器

      4.1 使用 docker run 命令来在容器内运行一个应用程序:

        

        参数说明:

          1)-d  后台运行容器,并返回容器ID (下面的893b开头的id就是容器id)

          2)-p  是容器内部端口绑定到指定的主机端口(这里是docker中tomcat的8080映射到主机的8888端口)

       4.2 使用 docker ps 列出容器

        

        可以看到容器中有seckill镜像,容器id取的4.1中返回值的前12位

        4.3 在浏览器中访问8888端口:

        

          可以正常访问我们的查询列表,表示我们的seckill镜像在容器中运行正常

      docker更多指令可参考:http://www.runoob.com/docker/docker-command-manual.html

  • 相关阅读:
    WPF:DataGrid 自动生成行号
    C#:WinForm之Command
    i.MX RT1010之FlexIO模拟SSI外设
    i.MX RT1010之FlexIO模拟I2S外设
    i.MX RT600之DSP开发环境调试篇
    i.MX RT600之DSP调试环境搭建篇
    i.MX RT600之DMIC外设介绍及应用
    i.MX RT600之I2S外设介绍及应用
    ssm框架思维-登录
    idea里面搭建SSM框架-crud
  • 原文地址:https://www.cnblogs.com/xuwenjin/p/9032540.html
Copyright © 2020-2023  润新知