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. vue左侧菜单的实现

    后端实现 django视图def menu(request): menu_list = models.Menu.objects.all().values('id', 'menu_name', 'par ...

  2. Python 内置类型 dict, list,线程安全吗

    近段时间发现一个 Python 连接数据库的连接是线程不安全的,结果惹得我哪哪儿都怀疑变量的多线程是否安全的问题,今天终于找到了正确答案,那就是 Python 内置类型 dict,list ,tupl ...

  3. P 1027 打印沙漏

    转跳点:

  4. UVA - 11925 Generating Permutations(生成排列)(构造)

    题意:将序列1,2,3,……,n,用不超过2n^2次操作,通过下列操作变成给定序列.(1<=n<=300) 1.交换前两个元素 2.将第一个元素移到最后 分析:因为将序列变成升序更容易操作 ...

  5. tx2系统备份与恢复

    https://blog.csdn.net/ycy_dy/article/details/80493392 https://blog.csdn.net/piaopiaopiaopiaopiao/art ...

  6. 7 ~ express ~ body-parser 模块的使用

    一,安装 : npm install body-parser 二,加载 : var bodyParser = require('body-parser') 三,配置 : https://github. ...

  7. 全面掌握Nginx配置+快速搭建高可用架构 一 Nginx的访问控制

    语法 示例 allow 127.0.0.1; deny all; 缺点:局限性 如果通过代理就可以绕过访问限制,限制不准确 解决 1. http_x_forwarded_for 2. 结合geo模块作 ...

  8. 十、CI框架之通过参数的办法输出URI路径

    一.代码如下,index函数有2个参数 二.效果如下: 不忘初心,如果您认为这篇文章有价值,认同作者的付出,可以微信二维码打赏任意金额给作者(微信号:382477247)哦,谢谢.

  9. ucosiii 学习笔记

    OSTaskCreate 的参数中有一个 void *p_ext,这个参数用来传递额外的信息,可以用来传递数组,结构体等等. AppTaskStart --> CPU_Init --> C ...

  10. UML-异常处理

    1.名词解释 缺陷(Fault):错误引起的行为.如:程序员拼写错了数据库名称 错误(Error):缺陷在运行系统中的表现.如:当使用拼写错误的名称调用数据库时,抛出数据库异常 故障(Failure) ...