学习笔记
一、容器、镜像、仓库
类库 -> 对象
Book b1 = new Book();
Book b2 = new Book();
Book b2 = new Book();
容器 = docker run 镜像
镜像:java类
容器:镜像运行的实体(java对象)
仓库:放镜像的地方
命令执行过程:客户端 - server - 网络 - 执行器 - 容器
二、install
-
uninstall old version
$ systemctl stop docker
$ yum remove decker-ce docker-ce-cli containerd.io
$ rm -rf /var/lib/docker
$ rm -rf /var/lib/containerd
-
install gcc
$ yum -y install gcc
$ yum -y install gcc++
-
install using the repository
$ yum install -y yum-utils
$ yum-config-manager --add-repo ${阿里云仓库}
$ yum makecache fast
-
Install Docker Engine
$ yum install docker-ce docker-ce-cli containerd.io
-
start Docker
$ systemctl start docker
-
run hellp-world
$ docker run hello-world
三、aliyun image acceleration(配置阿里云镜像加速器)
- register aliyun account
- get image accelerator url (获取镜像加速器地址)
- config image accelerator url(配置镜像加速器地址)
四、docker run步骤
- 判断本地是否存在镜像
- 没有镜像去远程仓库拉
- 远程仓库拉不到就报错
- 运行镜像,生成容器
五、why faster than vm (为什么比虚拟机块)
- docker有着比虚拟机更少的抽象层
不需要实现硬件资源虚拟化,直接使用物理机的硬件资源。 - docker利用宿主机的内核,不需要重新加载一个操作系统内核
六、命令
helper run command(帮助启动类命令)
$ systemctl start docker
$ systemctl restart docker
$ systemctl status docker
$ systemctl enable docker (开机启动)
$ systemctl info(概要信息)
$ docker --help
$ docker 具体命令 --help
containers command(容器命令)
$ docker images(列出镜像列表)
- 返回结果
REPOSITORY:镜像的仓库源
TAG:镜像的标签版本号(一个镜像可以有多个TAG,代表这个仓库源的不同版本,我们使用REPOSITORY:TAG来定义不同的镜像,不指定TAG就取最新版)
IMAGE ID:镜像ID
CREATED:镜像创建时间
SIZE - 拼接参数
-a 列出本地所有镜像(含历史镜像层)
-q 只显示镜像ID
$ docker search 镜像名(去镜像仓库查找镜像)
- 返回结果
NAME:镜像名
DESCRIPTION:镜像说明
STARS:点赞数
OFFICIAL:是否为官方的
AUTOMATED:是否是自动构建的 - 拼接参数
--limit 5 只列出5个
$ docker pull 镜像名字[:TAG] (下载镜像到本地)
- 拼接参数
TAG:没有TAG就是最新版等价于docker pull 镜像名字:latest ;
$ docker system df (统计镜像、容器、数据卷所占用的空间)
$ docker rmi 镜像...(删除镜像)
- 拼接参数
-f 强制删除
$ docker rmi -f $(docker images -qa) (删除所有镜像)
虚悬镜像
仓库名、TAG都是NONE的镜像