docker(一):基本组成与常用命令

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 - 镜像用户/镜像名:镜像版本号

备注:以上内容来自尚硅谷资料


版权声明:本文为qq_39198749原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
THE END
< <上一篇
下一篇>>