启动创建容器

docker run -it  镜像id  /bin/bash

-t:让docker分配一个伪终端并绑定在容器的标准输入上

-i:让容器的标准输入保持打开

-d:以守护态运行容器

--name:给容器指定别名,不指定系统会默认分配一个名称

-v:数据挂载的目录,详细请参考docker的数据管理

-h:设置主机名,会写入容器内部的/etc/hostname和/etc/hosts文件,在容器外部不可见

-p:指定容器内的某个端口绑定到宿主机上的某一个端口

-P:随机映射一个49000-49900的端口到内部容器的开放端口

例:

docker学习-容器(四)

 

docker run创建容器时,docker在后台的操作包括:

  1. 检查本地是否存在指定镜像,没有则从远程仓库下载

  2. 分配一个文件系统,并在只读的镜像上层外挂载一层可读写层

  3. 在宿主主机配置的网桥接口中桥接一个虚拟接口到容器中去

  4. 从地址池配置一个ip地址给容器

  5. 执行用户指定的应用程序

  6. 执行完毕后容器被终止

如果在执行docker run 时,加上--rm参数,则容器在终止时会自动删除,--rm和-d不能同时用。    

 

启动终止容器

docker start 容器id

查看运行中的容器

docker ps

查看所有容器

docker ps -a

查看容器的输出信息

docker logs 容器id

终止容器

在宿主机上:docekr stop 容器id
在容器内:exit或者ctrl+d

重启容器

docker restart 容器id

进入容器

docker exec -it 容器id /bin/bash    

或者

docker attach 容器id

当多个窗口使用attach到同一个容器时,所有窗口会同步显示,当某个窗口命令阻塞时,其他窗口也会阻塞。

查看容器详细信息

docker inspect 容器id

导出容器

docker export 容器id > 导出的文件名

docker学习-容器(四)

导入容器

此方式导入的文件会成为镜像。需要以镜像运行成容器

docker import url地址|文件

 

load和import的区别?

load:导入镜像文件到本地镜像库

        镜像文件保存了完整记录,体积大。

import:导入容器文件到本地镜像库

        容器文件丢失所有历史记录和元数据信息,即快照状态。可以指定标签元数据信息。 

删除容器

docker rm 容器id

-f:停止并删除容器

 

 

 

 

 

 

相关文章: