Docker 包括三个基本概念:
镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。
容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。
仓库(Repository):仓库可看成一个代码控制中心,用来保存镜像。
获取镜像:docker pull 镜像名称
例子:docker pull ubuntu (从远程仓库https://hub.docker.com/ 拉取镜像到本地)
查看本地镜像:docker images
各个选项说明:
REPOSITORY:表示镜像的仓库源
TAG:镜像的标签
IMAGE ID:镜像ID
CREATED:镜像创建时间
SIZE:镜像大小搜索镜像:docker search 镜像名(从远程仓库搜索镜像信息)
NAME: 镜像仓库源的名称
DESCRIPTION: 镜像的描述
OFFICIAL: 是否 docker 官方发布
stars: 类似 Github 里面的 star,表示点赞、喜欢的意思。
AUTOMATED: 自动构建删除镜像:docker rmi 镜像名称:tag标签
**运行容器:**docker run -it --name 容器名称 镜像名称:镜像tag 初始化名称
例子:docker run -it --name ubuntu-system ubuntu:latest /bin/bash
运行原理:首先会先从本地获取获取镜像文件,如果本地没有该镜像文件则会去远程仓库查找该镜像文件,如果远程仓库也没有该镜像文件,则会报错找不到镜像文件
参数说明:
-i: 交互式操作。
-t: 终端。
–name 容器名称。
/bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。
要退出终端,直接输入 exit
docker ps 查看正在运行的容器
docker ps -a 查看运行和已经运行关闭的容器
CONTAINER ID: 容器ID
IMAGE: 镜像名称及tag标签
COMMAND: 对应启动命名的shell命令
CREATED: 创建时间
STATUS: 容器状态
PORTS:端口号
NAMES:容器名称
停止容器:docker stop 容器id(或者容器名称)
启动容器: docker start 容器id(或者容器名称)
删除容器:docker rm 容器id(或者容器名称)
查看容器信息:docker inspect 容器id(或者容器名称)
进入已启动的容器:docker exec -it 容器id(或者容器名称)参数
例子:docker exec -it ubuntu-system /bin/bash