容器的基本概念
-
虚拟机通过中间层将一台或多台独立的机器虚拟运行在物理硬件上,而容器则是直接运行在操作系统内核上的用户空间(由于客居于操作系统,容器只能运行与底层宿主机相同或相似的操作系统)
-
docker组件
- Docker客户端和Dcoker守护进程(守护进程也称之为Docker引擎)
- Docker镜像(镜像是容器的源代码,体积小,易于分享)
- Registry(用户存储用户构建镜像的仓库)
- Docker容器(Docker容器是基于镜像启动起来的,容器中可以运行一个或多个进程,我们任务,镜像是Docker生命周期的构建或打包阶段,而容器是生命周期的启动或执行阶段)
Docker基本命令
-
启动一个可交互的ubuntu实例
docker run -i -t ubuntu /bin/bash -i 保证容器标准输入打开 -t 为创建的容器分配一个伪tty -name 可以给容器命名(方便后续使用) -d 使容器成为守护式容器
-
列出所有的docker容器列表
docker ps -a
-
重新启动容器(创建容器但不启动docker create)
docker start 容器ID或者容器名称
-
重新附着到容器上
docker attach 容器ID或者容器名称
-
docker 获取容器日志(注意和–log-driver的不当使用,会导致没有显示结果)
docker logs 容器ID或者容器名称
-
查看容器内进程
docker top 容器ID或者容器名称
-
查看一个或多个docker容器的统计信息
docker stats 一个或多个容器ID或者容器名称
-
在容器内部额外运行进程,在容器内运行的进程有两种类型:后台任务和交互式任务。后台任务在容器内部运行且没有交互需求,而交互式任务则保持在前台运行
docker exec -d 容器名orId touch /etc/new_config_file 后台任务 docker exec -i -t daemon_dave /bin/bash 前台任务
-
停止容器
docker stop 容器ID或者容器名称
-
自动重启容器 ,如果由于某种原因导致容器停止,可以通过-restart标志,让docker容器自动停止(默认是重启的)
-
获取容器详细信息
docker inspect 容器ID或者容器名称
-
删除容器
docker rm 容器ID或者容器名称