黑马程序员技术交流社区

标题: 【上海校区】Docker容器管理 [打印本页]

作者: sunyakai    时间: 2019-2-27 16:15
标题: 【上海校区】Docker容器管理

Docker容器管理
docker容器技术指Docker是一个由GO语言写的程序运行的“容器”(Linux containers, LXCs)
容器是什么?
容器(Container):容器是一种轻量级、可移植、并将应用程序进行的打包的技术,使应用程序可以在几乎任何地方以相同的方式运行
​        •Docker将镜像文件运行起来后,产生的对象就是容器。容器相当于是镜像运行起来的一个实例。
​        •容器具备一定的生命周期。
​        •另外,可以借助docker ps命令查看运行的容器,如同在linux上利用ps命令查看运行着的进程那样。
​        我们就可以理解容器就是被封装起来的进程操作,只不过现在的进程可以简单也可以复杂,复杂的话可以运行1个操作系统.简单的话可以运行1个回显字符串.
容器与虚拟机的相同点
•容器和虚拟机一样,都会对物理硬件资源进行共享使用。
•容器和虚拟机的生命周期比较相似(创建、运行、暂停、关闭等等)。
•容器中或虚拟机中都可以安装各种应用,如redis、mysql、nginx等。也就是说,在容器中的操作,如同在一个虚拟机(操作系统)中操作一样。
•同虚拟机一样,容器创建后,会存储在宿主机上:linux上位于/var/lib/docker/containers下
容器与虚拟机的不同点
注意:容器并不是虚拟机,但它们有很多相似的地方
•虚拟机的创建、启动和关闭都是基于一个完整的操作系统。一个虚拟机就是一个完整的操作系统。而容器直接运行在宿主机的内核上,其本质上以一系列进程的结合。
•容器是轻量级的,虚拟机是重量级的。
​        首先容器不需要额外的资源来管理,虚拟机额外更多的性能消耗;
​        其次创建、启动或关闭容器,如同创建、启动或者关闭进程那么轻松,而创建、启动、关闭一个操作系统就没那么方便了。
•也因此,意味着在给定的硬件上能运行更多数量的容器,甚至可以直接把Docker运行在虚拟机上。
查看容器
[Python] 纯文本查看 复制代码
#作用
        显示docker容器列表
#命令格式:
docker ps
#命令演示:
$ docker ps
#CONTAINER ID 容器ID        
#IMAGE 基于那个镜像              
#COMMAND  运行镜像使用了哪些命令?           
#CREATED多久前创建时间            
#STATUS   开启还是关闭           
#PORTS端口号               
#NAMES容器名称默认是随机的
#注意:
管理docker容器可以通过名称,也可以通过ID
ps是显示正在运行的容器, -a是显示所有运行过的容器,包括已经不运行的容器

创建待启动容器
[Python] 纯文本查看 复制代码
#作用:
        利用镜像创建出一个Created 状态的待启动容器
#命令格式:
        docker create [OPTIONS] IMAGE [COMMAND] [ARG...]
        docker create [参数命令] 依赖镜像 [容器内命令] [命令参数]
#命令参数(OPTIONS):查看更多
        -t, --tty                           分配一个伪TTY,也就是分配虚拟终端
    -i, --interactive                即使没有连接,也要保持STDIN打开
        --name                          为容器起名,如果没有指定将会随机产生一个名称
#命令参数(COMMAND\ARG):
        COMMAND 表示容器启动后,需要在容器中执行的命令,如ps、ls 等命令
        ARG 表示执行 COMMAND 时需要提供的一些参数,如ps 命令的 aux、ls命令的-a等等
#创建容器(附上ls命令和a参数)
        docker create -it --name ubuntu-1  ubuntu ls -a










欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2