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. C++的随机数

    C++产生随机数 C++中没有自带的random函数,要实现随机数的生成就需要使用rand()和srand(). 不过,由于rand()的内部实现是用线性同余法做的,所以生成的并不是真正的随机数,而是 ...

  2. UVA - 1605 Building for UN (联合国大楼)

    题意:一个联合国大楼每层都有数量相等大小相同的格子,将其分配给n个国家,使任意两个不同的国家都相邻(同层有公共边或相邻层的同一个格子). 分析:可以设计一个只有两层的大楼,第一层每个国家占一行,第二层 ...

  3. 量化交易回测系统---RQalpha、qstrade学习笔记

    一.RQalpha github 地址  https://github.com/ricequant/rqalpha 1.运行test.py文件,显示 No module named 'logbook. ...

  4. org.apache.jasper.JasperException: /WEB-INFO/jsp/product/edit.jsp(168,45)

    PWC6038:"${empty data.code?'001':fn:substring(data.code,0,8)}" contains invalid expression ...

  5. Thread.currentThread()和this的区别

    1. Thread.currentThread()可以获取当前线程的引用,一般都是在没有线程对象又需要获得线程信息时通过Thread.currentThread()获取当前代码段所在线程的引用. 2. ...

  6. ACM蒟蒻防bug专用 ( •̀ ω •́ )✧

    /*********************************************** * _ooOoo_ * * o8888888o * * 88" . "88 * * ...

  7. 04 Unity2D

    Unity2D系统是Unity引擎进行2D制作时使用的 Sprite精灵:在Unity2D制作中将图片称作精灵(Sprite),为了提高游戏效率,降低对GPU的损耗,通常将一类的图片拼接成一张大图来使 ...

  8. [Python函数]encode,decode

    前言: 我们知道,计算机是以二进制为单位的,也就是说计算机只识别0和1,也就是我们平时在电脑上看到的文字,只有先变成0和1,计算机才会识别它的意思.这种数据和二进制的转换规则就是编码.计算机的发展中, ...

  9. 读《软件需求最佳实践》YOUGAN

    这几天在看<软件需求最佳实践>作者徐锋老师的软件需求培训,三天的课程,虽然原来对需求也关注了很多,自己也做过需求分析和开发的工作,但是这次培训感觉收获还是很多.三天的培训先做个记录,后续多 ...

  10. SQL SERVER 2012 OBJECT_ID

    原来一个存储过程执行正常,升级sqlserver后提示临时表已存在,后查找资料 sql server 2012  OBJECT_ID('临时表')返回的数值是负数,在 2008r2及前是正数,所以导致 ...