Docker的基本命令和组成
Docker的基本组成
镜像(image):就是一个只读模板。镜像可以用来创建Docker容器,一个镜像可以创建很多容器。类似Java中的类和对象,类就是镜像,容器就是对象。
容器(container):容器是镜像创建的运行实例。容器可以被启动,开始,停止,删除。每个容器都是相互隔离的,保证安全的平台。
仓库(repository):仓库是存放镜像文件的地方。仓库分为公有仓库和私有仓库。最大的公有仓库是Docker Hub,存放了数量庞大的镜像供用户下载。国内的公有公有仓库有阿里云、网易云等。
当启动Docker启动一个容器时的流程是什么?
Docker命令
辅助命令
docker version # 显示Docker版本信息
docker info # 显示Docker的系统信息
docker --help # 显示帮助信息
镜像命令
docker iamges # 显示所有镜像
docker iamge ls # 列出所有镜像
docker iamges -a # 显示所有镜像
docker iamges -q # 只显示镜像ID
docker iamge --help # 显示镜像命令帮助
docker iamge history # 显示镜像历史信息
docker iamge inspect # 显示镜像详细信息
docker iamge load # 将文件加载至本地镜像
docker iamge prune # 删除所有未使用的镜像
docker iamge rm # 删除镜像
docker iamge save # 将镜像保存成文件
docker iamge tag # 修改镜像标签
仓库命令
docker iamge pull # 下载镜像
docker iamge push # 上传镜像
docker search # 查找镜像
docker login # 登录镜像仓库
docker logout # 退出登录
容器命令
docker run # 创建并运行容器
--name # 指定容器名字
-d # 后台方式运行
-it # 以交互模式运行容器,并给容器分配一个终端
-P # 随机端口映射
-p # 指定端口映射
ip:hostPort:containerPort
ip::containerPort
hostPort:containerPort
containerPort
docker ps # 显示所有容器
-a # 列出当前所有容器
-l # 列出最近创建的容器
-n x # 列出最近x个创建的容器
-q # 只显示容器ID
exit # 退出容器并停止
ctrl+p+q # 退出容器不停止
docker start # 启动容器
docker stop # 停止容器
docker restart # 重启容器
docker kill # 强行停止容器
docker rm # 删除容器
docker rm -f # 强制删除容器
docker ps -a -q|xargs docker rm # 删除所有容器
docker rm -f $(docker ps -aq) # 删除所有容器
docker puase # 暂停容器
docker unpause # 恢复容器
docker commit -a="作者" -m="描述" 容器ID 新容器明:TAG
操作命令
docker logs # 查看容器日志
docker top # 查看容器中运行的信息
docker inspect # 查看容器详细信息
docker exec -it containerID /bin/bash # 进入容器
docker attach # 进入容器
docker cp hostPath containerPath # 复制本地文件到容器
docker load 和docker import的区别
docker load 是将镜像存储文件导入到本地镜像库,import是将容器快照文件导入为本地镜像。最根本的一点import导入的快照文件元数据信息、和历史记录会丢失,即仅保存容器当时的状态;并且导入时可以修改镜像的标签名字元数据信息等。而load是镜像存储文件,保存完整的历史记录,体积也会比快照文件大。
docker save 和docker export
- docker save保存的是一个或者多个镜像,docker export保存的一个容器
- docker load用来载入镜像包,docker import用来导入容器包,但是两者都导入的文件都会变成镜像
- docker load不可以修改镜像标签、名字。import可以指定新名字