文章目录
- 1. docker基本组成
- 1.1 镜像(image)
- 1.2 容器(container)
- 1.3 仓库(repository)
- 2. docker常用命令
- 2.1 启动类命令
- 2.2 镜像命令
- 2.3 容器命令
1. docker基本组成
1.1 镜像(image)
docker镜像(image)就是一个只读的模板。镜像可以用来创建docker容器,一个镜像可以创建很多容器。
是一种轻量级、可执行的独立软件包,它包含运行某个软件所需的所有内容,我们把应用程序和配置依赖打包好形成一个可交付的运行环境(包括代码、运行时需要的库、环境变量和配置文件等),这个打包好的运行环境就是image镜像文件。
1.2 容器(container)
(1)从面向对象角度
Docker利用容器(Container)独立运行的一个或一组应用,应用程序或服务运行在容器里面,容器就类似于一个虚拟化的运行环境,容器是用镜像创建的运行实例。就像是Java中的类和实例对象一样,镜像是静态的定义,容器是镜像运行时的实体。容器为镜像提供了一个标准的和隔离的运行环境,它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台
(2)从镜像容器角度
可以把容器看做是一个简易版的 Linux 环境
1.3 仓库(repository)
仓库(Repository)是集中存放镜像文件的场所。类似于: Maven仓库、github仓库
仓库分为公开仓库和私有仓库两种形式。最大的公开仓库是docker hub
2. docker常用命令
2.1 启动类命令
(1)启动docker: systemctl start docker
(2)停止docker: systemctl stop docker
(3)重启docker: systemctl restart docker
(4)查看docker状态: systemctl status docker
(5)开机启动: systemctl enable docker
(6)查看docker概要信息: docker info
(7)查看docker总体帮助文档: docker --help
(8)查看docker命令帮助文档: docker 具体命令 --help
2.2 镜像命令
(1)查看所有镜像
docker images
(2)从 Docker Hub 查找镜像
docker search [OPTIONS] 镜像名字
OPTIONS说明:
--limit : 只列出N个镜像,默认25个
(3)下载镜像
docker pull 镜像名字[:TAG]
(4)删除镜像(会提示先停止使用中的容器)
docker rmi 镜像name/镜像id
(5)虚悬镜像
仓库名、标签都是<none>的镜像,俗称虚悬镜像dangling image
2.3 容器命令
有镜像才能创建容器, 这是根本前提
(1)查看所有容器(可以查到容器id/容器name)
docker ps [OPTIONS]
[OPTIONS]说明:
-a: 列出当前所有正在运行的容器+历史上运行过的
-l: 显示最近创建的容器。
-n:显示最近n个创建的容器。
-q: 静默模式,只显示容器编号。
(2)新建+启动容器
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
[OPTIONS]说明:
有些是一个-,有些是两个--
--name="容器新名字":为容器指定一个名称;
-d: 后台运行容器并返回容器ID,也即启动守护式容器(后台运行);
-i:以交互模式运行容器,通常与 -t 同时使用;
-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用。也即启动交互式容器(前台有伪终端,等待交互);
-P: 随机端口映射(大写P)
-p: 指定端口映射,小写p(-p hostPort:containerPort)
(3)启动已经停止运行的容器
docker start 容器ID或者容器名
(4)重启容器
docker restart 容器ID或者容器名
(5)停止容器
docker stop 容器ID或者容器名
(6)强制停止容器
docker kill 容器ID或容器名
(7)删除已停止的容器
docker rm 容器name/容器id
(8)查看容器运行日志
docker logs 容器名称/容器id
(9)动态查看容器运行日志
docker logs -f -t -n=5 docker容器编码
(1)-f 就是跟踪实时日志
(2)-t 用来显示docker日志的时间戳
(3)-n就是显示docker容器的最后n行日志
(4)-n=5就是显示docker容器最后5行的日志
(10)查看容器内运行的进程
docker top 容器ID
(11)查看容器内部细节
docker inspect 容器ID
(12)进入正在运行的容器并以命令行交互
docker exec -it 容器name/容器id /bin/bash
(13) 复制本机的一个文件到docker容器中
docker cp <本机文件path> <容器name或id>:<复制到的容器中的path>
(14)从docker容器中下载文件到本机
docker cp <容器name或id>:<在容器中的文件path> <本机path>
(15)容器的导入与导出
docker export 容器ID > 文件名.tar
cat 文件名.tar | docker import - 镜像用户/镜像名:镜像版本号
备注:以上内容来自尚硅谷资料