zoukankan      html  css  js  c++  java
  • docker的重要概念和常用命令

    docker的重要概念和常用命令

    一、几个重要的概念

    在使用docker时,我们得先弄清楚docker的几个重要的概念

    1)Docker生态

    Docker生态就像 iPhone 的生态一样,Docker仓库相当于 IPhone 的 App Store,docker自身程序相当于IOS系统。

    2)Registry和Repository

    Registry:注册服务器,用于管理镜像仓库,起到的是服务器的作用。

    Repository:镜像仓库,用于存储具体的docker镜像,起到的是仓库存储作用。

    3)镜像与容器

    镜像(image):指的是以分层的、可以被 LXC/libcontainer 理解的文件存储格式。Docker的应用都是以这种格式发布到Docker仓库中,供大家使用。

    可以理解为打包后的环境和应用。

    容器(container):把应用镜像从 Docker 仓库下载到本地机器上,以镜像为模板,在一个容器类虚拟机中把这个应用启动,这个虚拟机叫做容器。可以理解为相当于在windows上运行了一个程序。

    可以先简单的理解,仓库中的应用都以镜像存在,从仓库中拉取镜像到本地的,叫容器。这里可以参考文章《十分钟明白什么是容器技术》,对容器做进一步的认识和了解。

    二、docker常用命令

    1、镜像的操作

       Build、Pull、Run这三个操作贯穿整个镜像的操作,后面会举栗子讲到

    1)列出本地所有的镜像

    docker images 或者 docker image ls(新版docker命令)

     

    2)查看镜像

    从Docker Hub查找镜像

    docker search mysql(镜像名称)

    3)下载镜像

    docker pull mysql:5.7

    说明:这里的5.7是指TAG版本号,可以到hub.docker.com上面查看。

    当不使用Tag的时候,默认会使用latest进行标记。

    4)获取容器/镜像的元数据

     docker image inspect mysql:5.7

    5)删除镜像

    docker rmi -f mysql:5.7

    rmi:删除本地一个或多少镜像       -f :强制删除

    2、容器的操作

    1)创建一个新的容器并运行

    docker run --name  -d(后台运行) -p(端口映射:宿主机端口对应容器开放的端口) -e(配置环境变量) MYSQL_ROOT_PASSWORD=1234 mysql:5.7

     

    2)在运行的容器中执行命令

    -i 交互模式

    -t分配一个伪终端

    -it在容器中开启一个交互模式的终端

    docker container exec -it  mysql /bin/bash

     

    3)列出容器

    docker  ps          列出当前正常执行的容器 

    dockers ps -a     列出所有镜像包含退出,停止,异常的容器

    docker  ps  -l     列出最新创建的容器包括所有状态

     

    4)强制删除容器

    docker  rm  -f  mysql

    或者 docker  rm  1153a1996288(容器ID:container id)

    5)容器的开启和停止

    docker stop 容器ID : 来停止一个正在运行中的容器
    docker start 容器ID : 可以启动一个停止状态的容器。
    docker restart 容器ID : 先会停止该容器,然后重新启动该容器。

    6)批量删除Docker中已经停止的容器

    方法一:

    #根据容器的状态,删除Exited状态的容器

    sudo docker rm $(sudo docker ps -qf status=exited)

    方法二:
    #Docker 1.13版本以后,可以使用 docker containers prune 命令,删除孤立的容器。

    sudo docker container prune

    参考链接:https://zhuanlan.zhihu.com/p/39155341

  • 相关阅读:
    vuex 数据持久化
    vue中通过第三方代理解决跨域问题
    谷歌浏览器格式化插件
    mongodb安装配置
    Nodejs express中创建ejs项目
    elementui tree 组件实现鼠标移入节点,节点后面显示添加删除按钮
    iframe页面无法跳转问题
    elementui table组件,根据数据的不同,显示不同的内容
    elementui tree组件自定义图标
    Aborting a running program
  • 原文地址:https://www.cnblogs.com/hld123/p/12733516.html
Copyright © 2011-2022 走看看