目录
一、安装Docker
1.1 关闭防火墙
1.2 安装依赖包
1.3 设置阿里云镜像源
1.4 安装Docker-CE社区版并设置开机自启动
1.5 查看Docker信息
二、Docker的镜像管理命令
2.1 搜索镜像
2.2 获取镜像(下载镜像)
2.3 镜像加速下载
2.4 查看本地有哪些镜像
2.5 查看镜像的详细信息( 获取容器/镜像的元数据 )
2.6 为本地的镜像添加新的标签
2.7 删除镜像
2.8 批量删除镜像
2.9 出镜像:将镜像保存成为本地文件
2.10 载入镜像:将镜像文件导入到镜像库中
一、安装Docker
1.1 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
1.2 安装依赖包
yum -y install yum-utils device-mapper-persistent-data lvm2
#解释
yum-utils #提供了yum-config-manager工具
device mapper #是linux内核中支持逻辑卷管理的通用设备映射机制,它为了实现用于存储资源管理的块设备驱动提供了一个高度模块化的内核架构。
#device mapper存储驱动程序需要device-mapper-persistent-data和lvm2.
1.3 设置阿里云镜像源
cd /etc/yum.repos.d
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
1.4 安装Docker-CE社区版并设置开机自启动
开源社区(免费版):docker-ce
企业版(收费):docker-ee
yum -y install docker-ce
systemctl start docker.service
systemctl enable docker.service
#安装好的Docker系统有两个程序,Dcoker服务端和docker客户端,
-1、其中docker服务端是一个服务进程,负责管理所有容器。
-2、Docker客户端则扮演Docker服务端的远侧还能够控制器,可以用来控制Docker的服务进程,大部分情况下Docker服务端和客户端运行在一台机器上。
1.5 查看Docker信息
#查看 docker 版本信息
docker version
#注意:Yum安装默认安装最新版本,目前最新版本是2020版本。但工作中不会用这么新的版本,前一个版本是2019版本。
#docker信息查看
docker info
//查看的部分信息如下:
Client:
Context: default
Debug Mode: false
Plugins:
app: Docker App (Docker Inc., v0.9.1-beta3)
buildx: Docker Buildx (Docker Inc., v0.8.2-docker)
scan: Docker Scan (Docker Inc., v0.17.0)
Server:
Containers: 0 #容器数量
Running: 0
Paused: 0
Stopped: 0
Images: 0 #镜像数量
Server Version: 20.10.17 #server版本
Storage Driver: overlay2 #docker使用的是overlay2 文件驱动
Backing Filesystem: xfs #宿主机上的底层文件系统
Supports d_type: true
Native Overlay Diff: true
userxattr: false
Logging Driver: json-file
Cgroup Driver: cgroupfs #cgroups 驱动,默认为cgroupfs,也可以修改为systemd
Cgroup Version: 1
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive
二、Docker的镜像管理命令
2.1 搜索镜像
格式:docker search 关键字(镜像名称或仓库名)
docker search nginx #搜索nginx的镜像
docker search clearlinux #搜索指定仓库clearlinux中的镜像
2.2 获取镜像(下载镜像)
格式:docker pull 镜像名称[:标签]
#如果下载镜像时不指定标签,则默认会下载仓库中最新版本的镜像,即选择标签为 latest 的镜像。
docker pull nginx #下载nginx镜像
2.3 镜像加速下载
#第一种进入方法
进入阿里云的官方账号,点击控制台,搜索容器镜像后点击容器镜像服务
#第二种进入方法
https://help.aliyun.com/document_detail/60750.html
#进入之后,登录阿里云账号即可获取加速度地址,复制配置镜像加速器的操作。
为什么要打码呢?
因为用一样的人多了,这个就不加速了,阿里云免费提供。
再通过脚本配置一下就行
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://上图加速地址"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
2.4 查看本地有哪些镜像
#查看下载到本地的所有镜像
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 55f4b40fe486 13 hours ago 142MB
------------------------------------------------------------------------------------
#注释:
REPOSITORY:镜像属于的仓库;
TAG:镜像的标签信息,标记同一个仓库中的不同镜像;
IMAGE ID:镜像的唯一ID 号,唯一标识一个镜像;
CREATED:镜像创建时间;
VIRTUAL SIZE:镜像大小;
------------------------------------------------------------------------------------
#镜像下载后存放在 /var/lib/docker
#查看下载的镜像文件信息
cat /var/lib/docker/image/overlay2/repositories.json
2.5 查看镜像的详细信息( 获取容器/镜像的元数据 )
格式:docker inspect 镜像ID号/容器ID #根据镜像的唯一标识 ID 号,获取镜像详细信息
docker inspect 51086ed63d8c
2.6 为本地的镜像添加新的标签
添加标签后,镜像的ID号并不会改变。
格式:docker tag 名称:[标签] [仓库名/]名称:[新标签]
示例:
docker tag nginx:latest nginx:web #为nginx镜像添加web标签
docker tag nginx:latest 仓库名/nginx:web #为镜像添加库标识,方便上传到官方仓库,因为上传镜像时必须指定仓库
docker images | grep nginx
2.7 删除镜像
注意:如果该镜像已经被容器使用,正确的做法是先删除依赖该镜像的所有容器,再去删除镜像。
格式:
docker rmi 镜像名:标签 #删除指定标签
docker rmi 镜像ID -f #删除指定镜像
docker rmi nginx:web #删除nginx镜像的web标签
docker rmi ac826143758d #删除镜像,该镜像只有单个标签的情况下
docker rmi 55f4b40fe486 -f #删除镜像,镜像有多个标签时需要加-f
2.8 批量删除镜像
docker images #查看本地所有镜像
docker images -q #查看本地有哪些镜像,只显示镜像ID
docker rmi $(docker images -q) -f #批量删除本地所有镜像
2.9 出镜像:将镜像保存成为本地文件
将镜像保存成为本地文件,实际是将镜像打包成一个tar包。
格式:docker save -o 存储文件名 存储的镜像
docker save -o mynginx.tar nginx:latest #打包镜像命名为mynginx.tar存在当前目录下
ls -lh
2.10 载入镜像:将镜像文件导入到镜像库中
格式:
docker load < 存出的文件
或者
docker load -i 存出的文件
#主机A通过scp命令将打包好镜像文件传给主机B,主机B将镜像文件导入到docker本地
scp ~/mynginx.tar 192.168.114.200:/root/
#主机B将镜像文件导入到镜像库中
docker load < mynginx.tar 或者 docker load -i mynginx.tar