设为首页 收藏本站
云服务器等爆品抢先购,低至4.2元/月
查看: 1231|回复: 0

[经验分享] docker使用管理

[复制链接]

尚未签到

发表于 2019-2-20 09:39:45 | 显示全部楼层 |阅读模式

  • 容器生命周期
  • docker命令获取帮助
  • docker的常用命令
  • docker基本操作
  • 镜像管理


  •   容器生命周期

    运行容器一个实例:
    #docker run -it --rm --name bbox busybox:latest /bin/sh
    当运行这条指令后的执行流程步骤:
    1.检查本地是否存在指定的镜像,不存在则从registry下载;
    2.利用镜像启动容器
    3.分配一个文件系统,并且在只读的镜像层之外挂载一个可读写层;
    4.从宿主机配置的网桥接口桥接一个虚拟接口给此容器;
    5.从地址池中分配一个地址给容器;
    6.执行用户指定的应用程序;
    7.程序执行完成后,容器即终止
    注意:容器是为任务而生,任务完成即销毁,释放资源。为单一任务(进程)设计

  •   docker命令获取帮助
    man ,docker --help...
    用法:docker [OPTIONS] COMMAND
    docker COMMAND --help 获取单个指令的详细用法

  •   docker的常用命令
    环境信息相关:
    info
    version :查看当前安装版本信息
    系统维护相关:
    images :查看本地镜像
    inspect:查看docker对象的详细信息,json格式
    build:构建镜像
    commit :基于已有容器创建镜像
    pause/unpause :暂停(恢复)当前运行容器
    ps:查看当前在运行的容器
    rm :删除  docker ps -qa |xargs docker rm -f
    rmi :删除镜像 docker images -qa |xargs docker rmi 删除 所有镜像
    run:运行容器
    start/stop/restart:启动、停止、重启容器
    top:用于查看正在运行的容器中的进程的运行状态
    kill:终止当前运行的某个容器
    ...
    日志信息相关:
    events
    history
    logs:查看容器运行日志
    Docker hub服务相关:
    login:登录仓库
    logout
    pull:从仓库拉取镜像到本地
    push:将镜像推送至某仓库
    search:搜索镜像

  •   基本操作:

    • 启动一个nginx容器,使其在后台运行并将其80端口映射到宿主机8080端口
      docker run -d -p 8080:80 httpd      
      docker run常用选项:
      -t:配置一个伪终端并绑定到容器的标准输入上
      -i:让容器的标准输入保持打开
      -d:将容器放入后台运行
      -c:指定分配该容器的cpu分片
      -m:指定分配给该容器的内存大小,单位为B,K,M,G
      --name:为容器分配指定名称
      --rm:当容器退出时自动删除容器
      [root@xt ~]# docker run -it --rm alpine:latest /bin/ls
      bin    etc    lib    mnt    root   sbin   sys    usr
      dev    home   media  proc   run    srv    tmp    var
      [root@xt ~]# docker run -it alpine:latest /bin/ls
      bin    etc    lib    mnt    root   sbin   sys    usr
      dev    home   media  proc   run    srv    tmp    var
      [root@xt ~]# docker ps -a
      CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS               NAME
      S49aedd5aca20        alpine:latest       "/bin/ls"           10 seconds ago      Exited (0) 8 seconds ago                       joll
      y_goldwasser
    • 把容器运行在前台:启动一个alpine容器输出 hello world,打印完即退出        
      [root@xt ~]# docker run --rm alpine:latest /bin/echo "hello woeld"hello woeld
    • 容器运行在后台:
      docker run -d alpine:latest  /bin/sh -c "while true; do echo hello world; sleep 1;done"
      服务类容器需要长期运行,所以使用daemon的方式运行;而工作类环境通常是给我们提供一个临时的工作环境,所以一般以run –ti的方式在前台运行


    • 查看当前节点上的容器状态
      docker ps    #查看当前正在运行的容器
      选项:
      -a:查看所有容器,包括停止的
      -q:只显示容器ID
      -l:显示最后一次创建的容器`


  •   镜像管理操作

    • 获取镜像
      docker pull name:tag #镜像直接从官方网站下载
      docker pull xuetong.com:5000/centos:6.6 #从指定仓库下载
    • 查看镜像
      docker images
      docker inspect centos:latest    #获取镜像的详细信息
    • 镜像打标签
      docker tag centos:latest xuetong.com:5000/centos:6.6
    • 搜索镜像
      docker search NAME:tag
      建议直接到官方网站搜索:https://hub.docker.com/explore/
    • 镜像导入导出
      docker  save  -o  /PATH/TO/SOMEFILE.TAR  NAME[:TAG]     
      docker  load  -i  /PATH/FROM/SOMEFILE.TAR
      docker image load -i /root/centos-latest.tar.xz
    • 删除镜像
      docker rmi name:tag
      如果一个镜像有多个tag,只会删除指定的tag,镜像本身不会删除,如果docker rmi后指定镜像ID,则所有tag都会被删除
      有时候重新安装后,发现docker rmi删除不了,可以直接删除rm -rf /var/lib/docker/image/overlay2/imagedb/content/sha256/* #默认镜像下载地方
      [root@xt ~]# docker rmi $(docker images -q)Error: No such image: 0763c7d87fddError: No such image: e1ddd7948a1cError: No such image: b2b03e9146e1Error: No such image: 11cd0b38bc3c[root@xt ~]# docker imagesREPOSITORY          TAG                 IMAGE ID            CREATED             SIZErancher/rancher     latest              0763c7d87fdd        4 months ago        528MBbusybox             latest              e1ddd7948a1c        4 months ago        1.16MBregistry            latest              b2b03e9146e1        5 months ago        33.3MB
    • 创建镜像:commit(根据现有镜像创建),不建议使用这种方法,无获取构建过程,建议使用dockerfile构建。






运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-674707-1-1.html 上篇帖子: Docker(七) Docker监控平台 下篇帖子: docker使用管理
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表