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. 洛谷 P1833 樱花

    题目传送门 解题思路: 就是完全背包和多重背包的混合.处理时间的时候注意一下就行了 AC代码: #include<iostream> #include<cstdio> usin ...

  2. my97datepicker实现日期改变立刻触发函数

    <input type="text" class="Wdate" onclick="WdatePicker({onpicking:functio ...

  3. 解决 .NET CORE3.0 MVC视图层不即时编译

    微软官方文档 Razor 编译 Razor SDK 默认启用 Razor 文件的生成时和发布时编译. 启用后,运行时编译将补充生成时编译,允许更新 Razor 文件(如果对其进行编辑). 运行时编译 ...

  4. js 格式化时间日期

    Date.prototype.format = function(format){ var o = { "M+" : this.getMonth()+1, //month &quo ...

  5. HDU _2546 01背包问题

    A - 饭卡 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Statu ...

  6. 【TensorFlow】tf.reset_default_graph()函数

    转载  https://blog.csdn.net/duanlianvip/article/details/98626111 tf.reset_default_graph函数用于清除默认图形堆栈并重置 ...

  7. Android进阶——Android消息机制之Looper、Handler、MessageQueen

    Android消息机制可以说是我们Android工程师面试题中的必考题,弄懂它的原理是我们避不开的任务,所以长痛不如短痛,花点时间干掉他,废话不多说,开车啦 在安卓开发中,常常会遇到获取数据后更新UI ...

  8. python函数-函数进阶

    python函数-函数进阶 一.命名空间和作用域 1.命名空间 内置命名空间 —— python解释器 就是python解释器一启动就可以使用的名字存储在内置命名空间中 内置的名字在启动解释器的时候被 ...

  9. Python爬虫之解析网页

    常用的类库为lxml, BeautifulSoup, re(正则) 以获取豆瓣电影正在热映的电影名为例,url='https://movie.douban.com/cinema/nowplaying/ ...

  10. 9.1hadoop 内置计数器、自定义枚举计数器、Streaming计数器

    1.1  计数器 计数器的作用是用来统计数量的,用于记录特定事件的次数,分为内置计数器.自定义java枚举计数器.自定义Stream计数器三大类.用于质量分析,或应用级统计.分析计数器的值比分析一堆日 ...