容器的常用操作

docker run -i -t  /bin/bash

使用image创建container并进入交互模式, login shell是/bin/bash

实例:

  1. $ docker run -it ubuntu /bin/bash    

  2. root@946be96acd5f:/#      

  3. root@946be96acd5f:/# exit    

  4. exit  

exit后容器将不在运行

docker start -i

启动一个container并进入交互模式

实例:

  1. # docker ps -a    

  2. CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS               NAMES    

  3. 648944eeef8a        ubuntu              "/bin/bash"         8 seconds ago       Exited (0) 6 seconds ago                       suspicious_feynman        

  4. root@ubun:~# docker start -i 648944eeef8a    

  5. root@648944eeef8a:/#

docker exec

  1. 通过宿主机在正在运行的容器上执行命令。
    通过宿主机在容器上创建文件

  1. $ docker exec 87cb69be18bb touch /root/abc.txt    

  1. 可通过exec命令从正在运行的容器上申请一个终端,执行shell

  1. $ docker exec -it 87cb69be18bb /bin/bash    

docker ps

默认显示正在运行中的container

docker ps –a

显示所有的container,包括未运行的 实例:

  1. $ docker ps    

  2. CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES    

  3. $ docker ps -a    

  4. CONTAINER ID        IMAGE               COMMAND             CREATED              STATUS                          PORTS               NAMES    

  5. 946be96acd5f        ubuntu              "/bin/bash"         About a minute ago   Exited (0) About a minute ago                       thirsty_mclean  

docker ps –l

显示最后一次创建的container,包括未运行的

docker start/stop/restart

开启/停止/重启container

docker容器和镜像迁移

docker的备份方式有export和save两种。

  • docker export当前状态的容器,通过docker import进行恢复;

  • docker save针对的是镜像,通过docker load进行恢复。

save

1.找出要保存的镜像名称.

  1. $ docker images    

  2. REPOSITORY        TAG               IMAGE ID          CREATED           VIRTUAL SIZE    

  3. memcached         v0.1              291272444a64      7 weeks ago         212 MB

2.备份镜像

  1. $ docker save memcached:v0.1 >memcached_bak.tar

3.恢复镜像
将镜像scp到目标服务器,恢复镜像

  1. $ docker load < memcached_bak.tar

4.查看镜像

  1. $ docker images    

  2. REPOSITORY        TAG               IMAGE ID          CREATED           VIRTUAL SIZE    

  3. memcached         v0.1              291272444a64      7 weeks ago         212 MB

export

1.找出要保存的容器ID或名称

  1. $ docker ps|grep memcached

2.备份容器

  1. $ docker export memcached > memcached_bak.tar

3.恢复成镜像

  1. $ docker import memcached_bak.tar memcached

4.查看镜像

  1. $ docker images    

  2. REPOSITORY      TAG             IMAGE ID            CREATED              VIRTUAL SIZE    

  3. memcached      latest           51af4462e58b        About a minute ago      250.5 MB

两者区别

导出后再导入(export-import)的镜像会丢失所有的历史和层信息,而保存后再加载(save-load)的镜像没有丢失历史和层 (layer)。这意味着使用导出后再导入的方式,你将无法回滚到之前的层(layer),同时,使用保存后再加载的方式持久化整个镜像,就可以做到层回滚.

未完待续.....

性能环境之docker操作指南4(全网最全)的更多相关文章

  1. vagrant特性——基于docker开发环境(docker和vagrant的结合)-1-基本使用

    Docker vagrant提供了使用Docker作为provider(其他的provider有virtualBox.VMware\hyper-V等)的开箱即用支持.这允许你的开发环境由Docker容 ...

  2. ELK 性能(3) — 在 Docker 上运行高性能容错的 Elasticsearch 集群

    ELK 性能(3) - 在 Docker 上运行高性能容错的 Elasticsearch 集群 介绍 在 Docker 上运行高性能容错的 Elasticsearch 集群 内容 通常熟悉的开发流程是 ...

  3. 在生产环境使用Docker部署应用

    导读 Docker现在越来越流行,但是真正在生产环境部署Docker还是个比较新的概念,还没有一个标准的流程.作者是ROR的程序员,作者结合平时的部署经验,联系Docker的特点,向大家分享了其在生产 ...

  4. ubuntu环境下docker安装步骤

    本文是根据docker官方文档翻译,原文:https://docs.docker.com/engine/installation/linux/ubuntulinux/ Docker 支持以下 Ubun ...

  5. CentOS环境下Docker私有仓库搭建

    本文讲述如何搭建docker私有仓库. 有了docker hub,为什么还要搭建docker私有仓库? 1.性能考虑:docker hub的访问要通过互联网,性能太低. 2.安全性:更多的时候,镜像不 ...

  6. rancher说明为什么需要按照指定版本安装以及rancher和节点linux环境配置-docker指定版本安装

    rancher说明为什么需要按照指定版本安装以及rancher和节点linux环境配置-docker指定版本安装 待办 https://blog.csdn.net/CSDN_duomaomao/art ...

  7. 团队一致性的PHP开发环境之Docker

    docker php环境模型 docker 简介 Docker 是一个开源的应用容器引擎 让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现 ...

  8. 环境篇:CM+CDH6.3.2环境搭建(全网最全)

    环境篇:CM+CDH6.3.2环境搭建(全网最全) 一 环境准备 1.1 三台虚拟机准备 Master( 32g内存 + 100g硬盘 + 4cpu + 每个cpu2核) 2台Slave( 12g内存 ...

  9. 自学MVC看这里——全网最全ASP.NET MVC 教程汇总【转】

    自学MVC看这里——全网最全ASP.NET MVC 教程汇总 http://www.cnblogs.com/powertoolsteam/archive/2015/08/13/4667892.html ...

随机推荐

  1. frame window 和open 的关系

    建立一个如下的关系框架 windowA.html <!DOCTYPE html> <html lang="en"> <head> <met ...

  2. pytest框架fixture的使用

    fixture可以当做参数传入 定义fixture跟定义普通函数差不多,唯一区别就是在函数上加个装饰器@pytest.fixture(),fixture命名不要以test开头,跟用例区分开.fixtu ...

  3. Linux命令(七)之上传/共享/挂载文件至Linux系统中

    .personSunflowerP { background: rgba(51, 153, 0, 0.66); border-bottom: 1px solid rgba(0, 102, 0, 1); ...

  4. connect()函数阻塞问题

    方法一:采用select 在学习嵌入式Linux网络编程中,很多同学都发现了一个问题,那就是调用connect函数时,如果服务端关闭,客户 端调用connect()函数时,发现阻塞在那里,而且利用ct ...

  5. 定制bash命令提示符

    使用shell时经常要知道当前路径,如果将它写在提示符里很节省很多敲pwd的动作,方法是在启动文件(.bash_profile, .bashrc)里加上: export PS1="[\u@\ ...

  6. JVM学习笔记-第七章-虚拟机类加载机制

    JVM学习笔记-第七章-虚拟机类加载机制 7.1 概述 Java虚拟机描述类的数据从Class文件加载到内存,并对数据进行校验.转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这个过程被 ...

  7. mfc HackerTools监控键盘按键

    string GetKey(int Key) { string KeyString = ""; //判断符号输入 const int KeyPressMask = 0x800000 ...

  8. QT 自定义控件 以及信号和槽的使用

    自定义login 控件 Login头文件 #ifndef LOGIN_H #define LOGIN_H #include <QWidget> namespace Ui { class L ...

  9. 【springcloud】常见面试题总结

    1.springcloud与dubbo的区别? https://jingyan.baidu.com/article/b0b63dbf3784294a483070fa.html 1.1 springcl ...

  10. java 搞笑注释

    // _ooOoo_ // o8888888o // 88" . "88 // (| -_- |) // O\ = /O // ____/`---'\____ // . ' \\| ...