目前 Docker 只能支持 64 位系统。
Yum安装默认安装最新版本,目前最新版本是2020版本。但工作中不会用这么新的版本,前一个版本是2019版本。
#关闭防火墙和selinux
systemctl stop firewalld.service
setenforce 0
#安装依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2
--------------------------------------------------------------------------------------------
#yum-utils:提供了 yum-config-manager 工具。
#device mapper: 是Linux内核中支持逻辑卷管理的通用设备映射机制,
它为实现用于存储资源管理的块设备驱动提供了一个高度模块化的内核架构。
#device mapper存储驱动程序需要 device-mapper-persistent-data 和 lvm2。
--------------------------------------------------------------------------------------------
#设置阿里云镜像源
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#安装 Docker-CE并设置为开机自动启动
yum install -y docker-ce #docker-ce-cli、containerd.io 会作为依赖包被安装
systemctl start docker.service
systemctl enable docker.service
2.2 查看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的镜像管理命令
3.1 搜索镜像
格式:docker search 关键字(镜像名称或仓库名)
docker search nginx #搜索nginx的镜像
docker search clearlinux #搜索指定仓库clearlinux中的镜像
3.2 获取镜像(下载镜像)
格式:docker pull 镜像名称[:标签]
#如果下载镜像时不指定标签,则默认会下载仓库中最新版本的镜像,即选择标签为 latest 的镜像。
docker pull nginx #下载nginx镜像
3.3 镜像加速下载
浏览器访问 https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors 获取镜像加速器配置
mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://3u6mkfxb.mirror.aliyuncs.com"] #写入自己的加速器地址
}
EOF
systemctl daemon-reload #重新加载
systemctl restart docker #重启docker
docker info #查看是否启用了镜像加速
3.4 删除镜像
注意:如果该镜像已经被容器使用,正确的做法是先删除依赖该镜像的所有容器,再去删除镜像。
格式:
docker rmi 镜像名:标签 #删除指定标签
docker rmi 镜像ID -f #删除指定镜像
docker rmi nginx:web #删除nginx镜像的web标签
docker rmi ac826143758d #删除镜像,该镜像只有单个标签的情况下
docker rmi 55f4b40fe486 -f #删除镜像,镜像有多个标签时需要加-f
3.5 批量删除镜像
docker images #查看本地所有镜像
docker images -q #查看本地有哪些镜像,只显示镜像ID
docker rmi $(docker images -q) -f #批量删除本地所有镜像
3.9 存出镜像:将镜像保存成为本地文件
将镜像保存成为本地文件,实际是将镜像打包成一个tar包。
格式:docker save -o 存储文件名 存储的镜像
docker save -o mynginx.tar nginx:latest #打包镜像命名为mynginx.tar存在当前目录下
ls -lh
载入镜像:将镜像文件导入到镜像库中
格式:
docker load < 存出的文件
或者
docker load -i 存出的文件
#主机A通过scp命令将打包好镜像文件传给主机B,主机B将镜像文件导入到docker本地
scp ~/mynginx.tar 192.168.41.45:/root/
#主机B将镜像文件导入到镜像库中
docker load < mynginx.tar 或者 docker load -i mynginx.tar