zoukankan      html  css  js  c++  java
  • Docker的三要素:镜像,容器,仓库,及相关命令

    Docker的三要素:镜像,容器,仓库


    Docker是利用容器独立运行的一个或一组应用,容器是用镜像创建的运行实例

    它可以被启动,开始,停止,删除。每个容器都是相互隔离的,保证安全的平台。可以把容器看作是一个简易版的Linux环境(包括root用户权限,进程空间,用户空间,网络空间等)和运行在其中的应用程序

    容器的定义和镜像几乎一模一样,也是一堆层的统一视角,唯一区别在于容器最上面那一层是可读可写的

    仓库:是集中存放镜像文件的场所

    仓库和仓库注册服务器是有区别的,仓库注册服务器上往往存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的标签(类似版本号)

    仓库分为公开仓库,和私有仓库两种形式

    最大的仓库是Docker Hub,存放了数量庞大的镜像供用户下载。国内公开的仓库包括阿里云和网易云等

    需要正确理解仓储,镜像,容器这几个概念:

    Docker本身是一个容器运行载体或称之为管理引擎。我们把应用程序和配置依赖打包好形成一个可交付的运行环境,这个打包好的运行环境就是image镜像文件。

    只有通过这个镜像文件才能生成Docker容器。image文件可以看作是容器的模板。

    Docker根据image文件生成的容器实例。

     同一个image文件,可以生成多个同时运行的容器实例。

    image文件生成的容器实例,本身也是一个文件,称为镜像文件。

    一个容器运行一种服务,当我们需要的时候,就可以通过docker客户端创建一个对应的运行实例,也就是我们的容器。

    至于仓库,就是放了一堆镜像的地方,我们可以把镜像发布到仓库中去,需要的时候从仓库拉下来就行。

    Docker是怎么工作的?

    Docker是一个Client-Server结构的系统,Docker守护进程运行在主机上,然后通过Socket连接从客户端访问,守护进程从客户端接受命令并管理运行在主机上的容器。

    容器,是一个运行时环境

    Docker镜像的基本命令:

    帮助命令

    docker version    打印当前docker版本信息

    docker  info  打印docker更详细的信息,插件信息和镜像信息,和容器数量

    docker --help   帮助命令,不会就查这个

    镜像命令:

    docker images    显示所有的镜像

    docker images --help   查看这个命令的帮助信息

    ##解释

    REPOSITORY :镜像的仓库源

    TAG :镜像的标签

    IMAGE ID :镜像的ID

    CREATED :镜像创建时间

    SIZE:镜像的大小

    ##可选项

    docker images -a     #列出所有的镜像

    docker images -q    #列出镜像的id

    docker images -aq   #列出所有的镜像的id

    docker search   搜索镜像 ,例如:docker search tomcat

    docker pull  镜像名 ,下载镜像   例如:docker pull mysql

    指定版本下载镜像

    docker pull mysql:5.7  

    删除镜像

    docker rmi -f   镜像ID1 镜像ID2 镜像ID3   删除多个镜像

    docker rmi -f   镜像ID   通过ID删除某一镜像

    docker rmi -f $(docker images -aq)    通过命令递归删除所有镜像

    Docker之容器命令

    说明,有了镜像才可以创建容器

    创建容器

    docker craate --name=容器名称  所在镜像名称

    docker craate --name=myTomcat  tomcat

    启动容器
    docker start   容器id 

    重启容器

    docker restart 容器id

    停止当前容器

    docker stop 

    杀死容器,强制停止容器

    docker  kill  

    查看已运行的容器

    docker ps

    查看所有的容器

    docker ps -a

     docker  run -it  centos    /bin/bash    ##启动并进入到容器

    注意:首先,docker run -it centos 的意思是,为centos这个镜像创建一个容器
    -it就等于 -i和-t,这两个参数的作用是,为该docker创建一个伪终端,这样就可以进入到容器的交互模式?(也就是直接进入到容器里面)

    后面的/bin/bash的作用是表示载入容器后运行bash ,docker中必须要保持一个进程的运行,要不然整个容器启动后就会马上kill itself,这个/bin/bash就表示启动容器后启动bash。

    创建容器并进入命令行

     docker  run -it  --name=myTomcat  tomcat   /bin/bash

    从容器中退回主机的命令:exit

    列出所有运行中的容器:docker ps

     列出所有运行中的容器包括曾经运行过的容器:docker ps -a

    列出最近创建的容器:docker ps -a -n=1     (最近创建的1个)

    只显示容器的编号:docker ps -aq  

    退出容器:

    exit  ##停止容器,并退出

    Ctrl +P +Q  ##容器不停止退出

    删除容器

    docker rm  容器id   ##删除指定容器,不能删除正在运行的容器,强制删除要加  -f

    删除所有容器,先停掉容器

    docker  stop $(docker ps -a -q) 

    docker rm -f $(docker ps -aq)    ##删除所有的容器

    常用的其他命令(重要)

    启动守护式容器:docker run -d  容器id  

    docker容器后台运行

    查看容器中进程的命令

    docker top  容器id

    UID  是用户ID

    PID 是父ID 

    PPID  是进程ID

    运行容器的命令

    docker run 后面的参数

    docker run -i  运行容器

    docker run -d  守护进程,后台运行

    docker run -t   容器启动后,进入命令行

    docker run -v   目录映射 --挂载

    查看日志命令

    docker logs

    查看镜像的元数据

    docker inspect   容器id

    退出容器后,想重新进入当前正在运行的容器

    docker exec -it  容器id   /bin/bash

    或者

    docker attach 容器ID

    上述两个命令有什么区别呢?attach是直接进容器启动命令终端,不会启动新的进程

    exec是在容器中打开新的终端,并且可以启动新的进程

     

    访问tomcat(重点)

    启动并作为守护进程

    -P 宿主机的端口:容器应用里的端口

    war包挂载宿主机 -v   宿主机路径:容器路径

    docker exec -it mytomcat6 /bin/bash

    docker run  -di --name=mytomcat7  -p  5555:8080  -v /usr/local/tomcat/webapps:/usr/local/tomcat/webapps  to

  • 相关阅读:
    C语言 · 报时助手
    C语言 · 完美的代价
    C语言 · 十六进制转八进制
    C语言 · 十六进制转十进制
    C语言 · 芯片测试
    C语言 · 素数求和
    C语言 · 五次方数
    Lodop多分出空白页的可能(情况1)
    C-Lodop提示“网页还没下载完毕,请稍等一下再操作.”
    Lodop简答问答大全
  • 原文地址:https://www.cnblogs.com/zhaobobo001/p/14131955.html
Copyright © 2011-2022 走看看