1. 什么是container

  通过 image 创建 (copy得到的)

  在 image layer (在image 层) 上 增加了一层 container layer (container 层 该层可读可写)

  类比面对对象: 类(image) 和 实例 (container)

  Image 负责 app 的存储和分发 , Container 负责运行

2.交互 container

  运行cenos image 就进入了 centos 内 然后可以进行一些操作

  docker run -it centos

3.docker 的一些命令  (具体查看 https://docs.docker.com/engine/reference/commandline/container/)

  使用 docker --help 进行查看

  docker container rm  容器的ID  (或 docker rm 容器的 ID)  即可删除容器

  docker container ls  (或 docker ps)                查看正在运行的容器

  docker container ls -a  (或 docker ps -a)         查看所有容器

  docker image rm 镜像的id (或 docker rmi 镜像的ID)          即可删除image

  docker contaner ls -aq                  列举所有的container id

  docker rm $(docker contaner ls -aq)           清理所有的container

  docker container ls -f 'status=exited' -q         列出所有状态为 exited 的容器

  docker stop [container_id or container_name]        停止运行中的容器

  docker run -d [image_name]                后台运行 将要启动的contianer

  docker run --name=demo [image_name]          命名将要启动的容器名称为 demo

  docker inspect [container_id or container_name]     显示 容器 的一些详细信息

4. 操作运行中的容器

  docker exec -it [container_id] /bin/bash  #通过编写 shell 脚本进入容器

  docker exec -it [container_id] python    # 通过编写 python 进入容器

  docker exec -it [container_id] ip a     # 打印出运行容器的ip地址

5.docker 的两个命令

  1. 基于某个 image 创建了一个container 后面安装了一些软件 然后将这个container 重新发布为新的 image (不推荐)

  docker container commit  ( 简写成 docker commit )

    1. docker run -it centos  ( 运行centos )

    2. yum install -y vim ( 安装vim )

    3. exit  (退出运行的容器)

    4. docker container ls -a (查看所有的容器)

    5. docker commit [container的name] [新image的名字] (根据容器 创建一个新的 image)

    6. docker commit centos  zonehoo/centos-with-vim

  2. 创建一个 image 从 Docker file

  docker image build ( 简写成 docker build )

    1. mkdir docker-centos-vim && cd docker-centos-vim

    2. vim Dockerfile

      FROM centos        #选择基础镜像  base image

      RUN yum install -y vim     #在 base image 内 运行安装 vim

      保存退出

    3.创建 image 通过当前文件夹的 Dockerfile 并命名为 zonehoo/centos-vim-new

      docker build -t zonehoo/centos-vim-new .

    4.通过 docker images 查看生成的 image

      docker images

6.docker container的更多相关文章

  1. 使Docker Container支持运行SWT程序

    1, 下载安装JDK的docker container 我是从这个源下载已经做好的JDK8的container: https://registry.hub.docker.com/u/dockerfil ...

  2. Docker container network configuration

    http://xmodulo.com/networking-between-docker-containers.html How to set up networking between Docker ...

  3. 自动启动docker container

    当系统启动的时候要启动docker container, 可以利用systemctl来实现 比如拿mongodb为例 创建 /usr/lib/systemd/system/docker_mongodb ...

  4. 怎样从host之外连接到docker container

    启动docker的时候的指令使用 sudo docker -H tcp://0.0.0.0:4243 -H unix:///var/run/docker.sock -d & 这样就能使dock ...

  5. Docker4Windows -- 从外部(非本机host)访问 由docker container运行的程序

    背景 当我们在windows 上面运行docker container的时候,我们需要借助于模拟器(例如,Virtual box/Hyper V),她的目的主要是在我们的windows系统上面模拟出一 ...

  6. docker container(容器)

    docker 容器 Docker容器类似于一个轻量级的沙箱,Docker利用容器来运行和隔离应用 容器是从镜像创建的应用运行实例.它可以启动,开始,停止,删除,而这些容器都是彼此相互隔离,互不可见的. ...

  7. 如何在查看docker container内进程信息,与宿主机上进程信息的映射关系

    docker container内运行的进程,在宿主机上,通过ps也是能够查到的,但是在不熟悉命令的时候,无法快速找到他们的关系. 这里科普一个基础命令 docker top 1. 找到容器的id d ...

  8. Docker: docker container常用命令实战(2)-数据持久化

    应用服务是在容器中运行的,容器随时会被删除,如果是个mysql容器呢?数据存储在容器里,容器删除了,数据也没了,那就是个噩梦. 所以一些数据是需要存储在容器之外的,可以是宿主机,可以是网络存储位置上, ...

  9. Docker: docker container常用命令实战

    容器管理,容器常用选项 选项 描述 -i, –interactive 交互式 -t, –tty 分配一个伪终端 -d, –detach 运行容器到后台 -e, –env 设置环境变量 -p, –pub ...

  10. bridge br0 docker 网络问题 Docker Container与Docker Host

    Docker学习笔记:Docker 网络配置 - docker ppt - docker中文社区http://www.docker.org.cn/dockerppt/111.html Bridge t ...

随机推荐

  1. RobotFramwork中实现oracle数据库的连接(终于解决cx_oracle问题)

    RobotFramework连接数据库有java实现,也有python实现的,现在研究的python实现的,java还没尝试.有兴趣的参考后面的转载文章.     步骤(也转载了别人的文章,因为写的比 ...

  2. ERROR in Cannot find module 'node-sass'

    windows下,通过淘宝的npm镜像安装 npm install node-sass --registry=https://registry.npm.taobao.org (之前安装好过,一段时间没 ...

  3. P 1016 部分A+B

    转跳点:

  4. HDU - 4112 Break the Chocolate(规律)

    题意:有一块n*m*k的巧克力,最终需要切成n*m*k个1*1*1的块,问用以下两种方法最少掰多少次能达到目的: 1.用手掰:每次只能拿出一块来掰:2.用刀切:可以把很多已经分开的块摞在一起一刀切下来 ...

  5. Spring的数据源配置

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...

  6. Day2-T3

    原题目 Describe:质数问题 code: #pragma GCC optimize(2) #include<bits/stdc++.h> #define KKK 1200 using ...

  7. cf 261B.Maxim and Restaurant

    什么什么期望的,不会! (题解http://blog.sina.com.cn/s/blog_140e100580102wj4e.html(看不懂)) #include<bits/stdc++.h ...

  8. 海外Essay写作如何减少重复用词

    很多海外留学生在Essay写作时往往不善于对单词进行变化,不能将同一个意思用不同的方式表达出来,使得Essay显得单调乏味最终拿不到高分.小编建议大家应该尽量减少Essay写作中的重复用词.本文将为大 ...

  9. 统计Shell脚本执行时间

    统计Shell脚本执行时间,帮助分析改进脚本执行 用 date 相减 #!/bin/bash startTime=`date +%Y%m%d-%H:%M:%S` startTime_s=`date + ...

  10. 使用 this 关键字定义方法和属性

    1.方法和属性的定义 属性是类中声明的变量,与其他地方变量的声明基本相同,只是属性必须 this 关键字,并且这里没有var 关键字. this.age; 在使用时,先是 this 关键字,之后的点语 ...