容器 Container
概述
- 镜像的可运行实例。
- 可以将容器连接到网络、存储、根据其状态创建新镜像。
特点
- 容器对外可见,容器内部进程对外不可见。
- 同一镜像可启动多个容器实例。
- 容器间相互隔离。
- 进入容器后可执行镜像命令。
- 容器模拟独立Linux文件系统,支持Linux命令。
- 默认hostname为容器ID。
容器状态
- 运行:进程正常运行。
- 暂停:进程暂停,不占用CPU资源,内存不释放。
- 停止:进程终止,资源被回收。
命令
docker run [options] <imageName> [command] {args}
:创建并运行容器。- 如镜像本地不存在,会从注册表拉取。
- 为容器分配一个可写层。
- 必须有前台进程以保持容器运行。
options
包括:--name <容器名>
:指定容器名(无大写)。-v <volume | File | Dir>:container
:挂载卷或文件。--privileged=true
:容器内部用户为root权限。-P
:大写,随机端口映射。-p
:设置端口映射。-d
:后台模式运行。-e
:设置环境变量。-h
:设置主机名。--ip
:设置IPv4地址。--network
:连接到网络。-i
:交互模式运行,常与-t
结合使用。
docker pause/unpause <name>
:暂停/恢复容器。docker stop/kill <name|id>
:停止/强制停止容器。docker start/restart <name|id>
:启动/重启容器。docker rm <name> [option]
:删除容器。-f
:强制删除。
docker exec [options] <container> <command> [args…]
:执行容器命令。-it
:创建交互终端。
docker attach <name|id>
:重新进入容器。docker update --restart=always <name>
:设置自动启动。docker commit [OPTIONS] <容器id> <新镜像名[:tag]>
:提交容器副本为新镜像。
查看情况
docker ps [option]
:查看容器状态。-a
:所有容器。-q
:仅容器ID。-l
:最新创建容器。-n
:显示n个最近创建的容器。-s
:显示总文件大小。
docker logs <name|id>
:查看运行日志。docker top <name|id>
:查看容器进程。docker inspect [OPTIONS] <NAME|ID>
:查看详情。
备份
docker cp <name|id>:<容器内路径> <目的主机路径>
:复制文件。docker export red_panda > latest.tar
:导出文件系统为tar文件。docker import
:用tar文件创建镜像。