zoukankan      html  css  js  c++  java
  • docker基本使用以及部署简单的web项目

    docker基本使用以及部署简单的web项目

    1.     什么是docker

    docker按照通俗易懂的理解来说就是一个用来装应用的容器,就像可以把水装到杯子里,把饭装到碗里,把钱装到钱包里,可以把网站放在docker中,可以把任何想得到的程序放在docker中。

    2.     docker能解决的问题

    2.1环境配置的问题

    软件开发最大的麻烦事之一,就是环境配置,比如一个java web应用,运行起来需要一个操作系统,操作系统之上还需要jdk、tomcat、mysql,系统环境问题,配置问题,甚至jdk、tomcat版本问题都能导致程序运行失败

    所以docker来了,它把操作系统、jdk、tomcat等全部放在集装箱里.再打包放到鲸鱼上,由鲸鱼给我们送到服务器上,在我的机器上怎么运行,在别的机器上也怎么运行.不会有任何的问题.一句话就是docker解决了运行环境不一致所带来的问题

    2.1资源消耗的问题

        普通windows系统里运行的Linux虚拟机存在资源占用多,操作步骤冗余,启动慢等问题,但docker就不一样,Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口,相比其他虚拟机它启动快、资源占用少、体积小,所以它是目前最流行的 Linux 容器解决方案。

    3.     Docker的三个概念

    3.1镜像(image)

    从本质上来说镜像就是一系列文件,可以包括我们应用程序的文件,也可以包括我们应用的运行环境的文件。

    3.2容器(container

    容器是Docker的运行组件,启动一个镜像就是一个容器,容器是一个隔离环境,多个容器之间不会相互影响,保证容器中的程序运行在一个相对安全的环境中

    3.3仓库(docker hub

    Docker仓库可以共享和管理docker镜像,可以把镜像传到仓库中,也可以从仓库中把镜像拉取到目的地。

    镜像就相当于打包好的版本,镜像启动之后运行在容器中,仓库就是装存储镜像的地方。

    4.     Centos上安装docker

    1、Docker要求centos系统内核版本高于3.10,所以要输入命令查看是否支持。

    使用 uname -r 查看

     

         2、设置仓库

    $ yum install -y yum-utils

      device-mapper-persistent-data

      lvm2

        3、安装docker

    $ yum-config-manager

        --add-repo

    https://download.docker.com/linux/centos/docker-ce.repo

    4、安装 Docker Engine-Community

    $ yum install docker-ce docker-ce-cli containerd.io

        5、启动docker

    $ systemctl start docker

    6、运行hello-world校验Docker安装是否成功

    $ docker run hello-world

     

     出现如图所示即代表安装成功。

    5.     docker基本命令使用

    1. docker imgaes 查看本地的镜像
    2. docker pull tomcat:7.0.108 从仓库拉取镜像到本地
    3. docker run -d -p 8080:8080 tomcat:7.0.108
      -d 代表在后台运行
      -p 代表将容器的8080端口映射到主机的8080端口,前面是主机后面是容器端口
    4. docker ps  查看运行的容器
    5. docker ps -a 查看所有的容器
    6. docker exec -it xxxxx bash 进入容器
      xxxx是使用docker ps命令查看到的容器的id

     

    6.     使用Docker部署一个简单的web应用

    6.1 拉取所需的mysql镜像

    1、使用命令:docker pull mysql:5.6 从仓库拉取镜像到本地;

    2、使用命令:docker run -itd --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.6
        name:给容器命令为mysql
        -e:在创建mysql容器的同时创建一个root用户,密码为123456

    3、进入这个容器查看一下,

    使用命令:docker ps 查看容器id后

    使用命令:docker exec -it xxx bash

     

    如上图所示代表成功。

    6.2 配置tomcat镜像中的内容

    1、使用命令进入tomcat容器

     

    此时,在本地浏览器访问tomcat主页是访问不了的,是因为tomcat容器中存在两个webapps文件夹,如上图所示,所以需要把webapps.dist里的内容复制到webapps文件夹里,并删掉webapps.dist这个文件夹,此时就可以正常访问了。

    2、从本地拷贝系统部署包到tomcat容器中的webapps目录下
        使用命令:docker cp xxx c4d18fd1a170:/usr/local/tomcat/webapps

     

    3、tomcat会自动部署该部署包,配置一下系统配置文件,修改一下数据库等路径以及密码,数据库地址进入mysql容器中查看,要对应mysql容器的ip地址以及端口

     如果容器中提示没有vi命令,可以使用如下命令

    apt-get update

    apt-get install vim docker

    来安装

    6.3 查看部署的系统

        直接访问虚拟机的ip地址加预设的端口号以及war包文件名即可,可以正常访问并且登录,至此,在容器中部署java web应用已全部完成。

     

    7.     总结

    使用docker部署应用,对于测试人员来说,无疑大幅度减轻了系统环境配置的问题,以及大大节省了部署时间,只需要简简单单的从代码仓库拉取所需要的镜像即可完成配置,再也不用繁琐的一步一步去安装软件,安装依赖,然后一步一步配置环境,大大提高了部署工作的效率,使用也相对简单,由此看出,不管开发测试还是运维,绝大多数人都应该会接触到docker.所以学docker还是很有必要的

  • 相关阅读:
    Investment_完全背包
    Recaman's Sequence_递推
    MooFest_二维树状数组
    Mobile phones_二维树状数组
    Matrix_二维树状数组
    Get Many Persimmon Trees_枚举&&二维树状数组
    树状数组基础知识
    The Cow Lineup_找规律
    [SOJ] 简单哈希
    sscanf() 函数
  • 原文地址:https://www.cnblogs.com/big-white/p/15239079.html
Copyright © 2011-2022 走看看