zoukankan      html  css  js  c++  java
  • Docker

    特点:

      1、开源

      2、应用容器引擎

      3、可以实现虚拟化

      4、沙箱机制,相互之间不会有任何接口

    说明:

      docker通过创建容器,在容器中部署项目,可以实现非常快速的容器的创建。

      可以实现非常快速的创建多个容器(理论上无限制)

       通过容器化的技术,可以实现资源的共享,相互之间互不影响,各自完成自己的工作。是一种轻量级的部署容器。

      docker是一个请求级的的应用部署程序,与虚拟机而言,不需要创建虚拟机的操作系统,并且通过docker引擎可以快速高效的实例化容器。

      

      速度:Docker速度接近物理主机速度

      资源:虚拟机运行时会产生大量的临时文件,占有用计算机的资源。

          当docker容器停止时,会将生成的临时文件全部删除。

      操作系统:虚拟机可以部署到任何操作系统中。   

            docker只能部署到linux7及以上版本。内核要求必须是3.10以上版本。

      沙箱:安全机制(隔离,互不影响)

      

    linux系统安装使用

      1、linux查询本

      2、重启网卡

       

      

      

      linux命令

        1、修改ip地址

          cd /etc/sysconfig/network-scripts/

          vim ifcfg-ens33  改为自己的网关

          重启网卡:service network restart

          查看是否有网:ping www.baidu.com

        2、查询linux内核版本

          uname -a

          如:Linux localhost.localdomain 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

    模块介绍:

        clients:表示docker服务的客户端 

        hosts:表示真实的物理主机

        registers:docker的镜像仓库

    docker的功能模块介绍:

      容器的概念:真实的服务。其中可以包含任何软件(JDK/tomcat/CentOS-6.5等)

      Image:镜像。docker官网提供了好多的软件的镜像服务。如果容器想创建,必须依赖于Image模板。容器是可以修改的(编辑)。镜像是只读的。

          通过镜像可以生产无数的容器。

          通过网络可以将docker镜像服务下载到本地

      总结:

          1、当docker需要创建容器,首先应该先获取镜像文件Image。

          2、当本地没有Image镜像时,需要联网去官网中下载

          3、当下载完成后,再次根据镜像文件生成具体的容器。

     

    镜像网站介绍:

      1、docker官网

      2、阿里云镜像:https://dev.aliyun.com/search.html

      3、灵雀云镜像:https://hub.alauda.cn/

    docker的使用:

      1、安装docker

      获取镜像地址:

        sudo yum install docker -ce 

        yum:源

      2、启动docker

        启动: service docker start

        停止: service docker stop

        重启: service docker restart

      3、docker容器的命令

         查询redis镜像:docker search redis

        进入工作区:cd /etc/sysconfig/network-scripts/ 

      4、docker获取redis镜像

        获取redis:docker pull redis:3.2.8

          1、查询镜像文件:docker images

          2、加载镜像文件:docker load -i redis-3.2.8.tar

        启动容器  docker run -d --name redis7000 -p 7000:6379 0db2a690b89e

        进入容器

          查询容器:docker ps

          查询全部容器:docker ps -a 

          关闭容器:docker stop 0db2a690b89e(容器id)

          开启容器:docker start 0db2a690b89e(容器id)

          删除容器:docker rm 0db2a690b89e(容器id)

          进入容器内部:docker exec -it 7ff5cb6eb98c(内部连接id,非容器id)  bash 

            进入到redis:redis-cli -p 6379

        导出镜像文件

          docker save -o redis-3.2.8.tar redis:3.2.8  镜像id

          -o:根据指定名称生成镜像,当镜像导入时名称与镜像名称一致。

        redis通过暴露在外部的7000端口进行访问

      docker命令

    命令

    用法

     yum -y install docker

    下载最新版的docker

    service docker start

    启动Docker服务

    service docker stop

    停止Docker服务

    service docker restart

    重新启动Docker服务

    docker version

    查看Docker的版本号

    docker pull 镜像地址:版本

    从镜像仓库中下载

    docker save a2a69ca5184a > jt-centOS6.tar

    根据镜像id导出镜像

    docker save -o redis-3.2.8.tar redis:3.2.8

    根据镜像名称导出镜像

    docker load -i docker-centos-6.5.tar

    指定jar包导入镜像文件

    docker rmi a2a69ca5184a

    根据Id号删除镜像文件

    docker rmi -f a2a69ca5184a

    根据容器id强制删除镜像文件    删除镜像前需要先关闭容器

    docker images

    查询所有镜像文件

    ocker inspect index.alauda.cn/tutum/centos:6.5

    查看镜像文件细节信息

    docker tag 旧镜像名称和端口 redis-ali:0.0.1

    修改镜像的名称

    docker build -t 镜像名称:版本号

    根据dockerfile来创建镜像文件

    docker run -d --name 容器名 镜像名:版本号

    根据镜像名称启动容器

    docker run -d --name 容器名(自定) 镜像id号

    根据镜像id启动容器

    docker run -d -p 虚拟机端口:镜像端口 --name 容器名 镜像名:版本号

    启动容器,并指定暴露端口

    docker ps

    查看活动的docker容器进程

    Docker ps -a/-all

    查看全部的容器

    docker exec -it 容器id bash

    进入指定的容器

    docker stop 容器Id号

    停止指定容器

    docker start 容器Id号

    启动创建好的容器

    docker stop $(docker ps -q) & docker rm $(docker ps -aq)

    关闭和删除所有的容器

    docker rm 容器Id

    删除指定的容器

      制作镜像

        要求:使用CentOS6.5版本 + jdk1.8 + tomcat7 + 项目 制作镜像

        1、导入jdk1.8

        2、创建dockerfile文件(文件名不能错)vim dockerfile  

          思路:

            1、需要引入操作系统 CentOS6.5 FROM

            2、添加jdk环境变量

              a)JAVA_HOME  EVN

              b)PATH

              c)CLASSPATH

          文件模版:  

    #添加contos6.5文件
    FROM a2a69ca5184a
    
    #添加JDK1.8  centos+jdk
    ADD jdk-8u51-linux-x64.tar.gz /usr/local/src
    ENV JAVA_HOME=/usr/local/src/jdk1.8.0_51
    ENV PATH=$JAVA_HOME/bin:$PATH
    ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    
    #centOS6.5+JDK1.8+tomcat7
    ADD apache-tomcat-7.0.55.tar.gz /usr/local/src
    ENV CATALINA_HOME /usr/local/src/apache-tomcat-7.0.55
    ENV PATH=$PATH:$CATALINA_HOME/bin
    
    #添加ROOT.war包文件
    COPY ROOT.war $CATALINA_HOME/webapps/ROOT/ROOT.war
    WORKDIR $CATALINA_HOME/webapps/ROOT
    RUN jar xvf ROOT.war
    RUN rm ROOT.war
    
    
    
    #对外暴露的端口号
    EXPOSE 8080
    CMD ["/usr/local/src/apache-tomcat-7.0.55/bin/catalina.sh","run"]
    dockerfile

         3、生成镜像文件

          命令:docker build -t 镜像名称:版本号   ./

              docker build -t cent-jdk:0.0.1 ./

          -t:按钮指定的文件名称生成

          ./:在当前文件夹下

          测试:

            根据生成的镜像文件测试镜像是否成功生成

            启动容器:docker run -d --name cent-jdk 33842afa99a7

            进入容器:docker exec -it 7ff5cb6eb98c(内部连接id,非容器id)  bash 

            

       dockerfile命令

      

    序号

    关键字

    说明

    FROM

    指定基础镜像的来源

    2

    ADD

    添加镜像文件,会自动解压

    3.

    EVN

    添加环境变量

    4.

    MAINTAINER

    作者

    5.

    WORKDIR

    设置当前工作目录 cd

    6.

    VOLUME

    设置数据卷,挂载主机目录

    7.

    EXPOSE

    指定对外暴漏的端口

    8.

    RUN

    执行命令 sh

    9.

    CMD

    执行命令 exec,一个Dockerfile只能一个

    10

    COPY

    复制文件

    11.

    ENTRYPOINT

    docker run时参数可以覆盖,指定参数值

  • 相关阅读:
    GBPR: Group Preference Based Bayesian Personalized Ranking for One-Class Collaborative Filtering-IJACA 2013_20160421
    BPR: Bayesian Personalized Ranking from Implicit Feedback-CoRR 2012——20160421
    基于矩阵分解的推荐算法
    svmlight使用说明
    论文笔记Outline
    Libliner 中的-s 参数选择:primal 和dual
    查询日志方法
    集合 Vector ArrayList 集合一
    c语言 常用知识点
    简单的c语言小程序 回光返照
  • 原文地址:https://www.cnblogs.com/xiangyuqi/p/8622197.html
Copyright © 2011-2022 走看看