目录
前言:
本文前景:安装测试环境,如果是生产环境请查看k8s官方详解,本人不建议生产环境使用Docker
一、环境要求
1. liunx系统版本
2. 移除全部的老版本
3. 必要工具安装
yum-utils是管理repository及扩展包的工具,包含一系列yum工具yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper persistent-data 和 lvm2。
LVM : 它是对磁盘分区进行管理的一种机制,建立在硬盘和分区之上的一个逻辑层,用来提高磁盘管理的灵活性。通过LVM可将若干个磁盘分区连接为一个整块的卷组(Volume Group)形成一个存储池。可以在卷组上随意创建逻辑卷(Logical Volumes),并进一步在逻辑卷上 创建文件系统,与直接使用物理存储在管理上相比,提供了更好灵活性总而言之,docke新安装,需要设置仓库,设置仓库就需要这三个辅助工具
Docker中的软件与服务器的端口映射概念
Docker的基本概念:
镜像(Image)
容器(Container)
仓库(Repository)
镜像是什么?
镜像就是数据的精确复制或映像。具体而言,镜像是一个与原始数据或源的副本完全一样的副本
一般而言,经常使用的镜像都是这三种
硬盘镜像:硬盘镜像是对硬盘或磁盘驱动器上所有数据的完全复制。它可以包括分区、文件系统、文件和文件夹,以及操作系统和应用程序。硬盘镜像通常用于备份、克隆和恢复计算机系统。
软件镜像:软件镜像是对软件安装介质(如光盘、DVD、ISO镜像文件)的完全复制。它包含了原始安装介质上的所有文件和目录结构。软件镜像可用于在多台计算机上进行软件安装,使得每台计算机都有相同的软件副本。
服务器镜像:服务器镜像是对服务器操作系统和配置的完全复制。它包含了操作系统、软件、设置和数据等。服务器镜像可用于创建相同配置的多台服务器,以便实现负载均衡、快速部署和容灾恢复等功能。
容器是独立运行的一个或一组应用,以及它们的运行环境。对应的,虚拟机可以理解为模拟运行的一整套操作系统(提供了运行态环境和其他系统环境)和运行在上面的应用。
镜像: Docker镜像是用于创建Docker容器的模板。
Docker容器 :容器是独立运行的一个或一组应用。
Docker仓库 :Docker仓库用来保存镜像,可以理解为代码控
制中的代码仓库。Docker Hub提供了庞大的镜像
集合供使用。Docker我们就简单理解为--这个东西是个软件,与QQ,与
英雄联盟这些东西一样,当你运行这个软件的时候,它就是 一个服务器启动了。
而容器,就理解为,它就是个空的liunx服务器,
镜像,就是一个已经装好应用服务器,
仓库,就是用来保存镜像的东西
二、软件源信息:
1、镜像源
1.官方建议:(个人不推荐太慢了)
yum-config-manager --add-repo https://download.docker.com/linux/centos/dockerce.repo
2.阿里云源 (个人推荐)
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/dockerce/linux/centos/dockerce.repo
三、配置docker
1、docker的基础配置
1.安装 Docker-CE(核心步骤)
命令:sudo yum -y install docker-ce
到这里 docker服务安装完成. 然后,我们可以操作一下我们的docker镜像
2.启动Docker后台服务
命令:sudo systemctl start docker
3. 重启Docker服务
命令:sudo systemctl restart docker
4.安装成功后可通过查看
命令:docker version
5.卸载Docker命令
命令:sudo yum remove docker-ce
命令:sudo rm -rf /var/lib/docker
docker搞定后,理论上就可以拉取镜像了,但是docker是默认外网拉取的,所以我们需要在国内配置镜像加速配置需要,注册一个阿里云账号,地址如下:
https://cr.console.aliyun.com/cnhangzhou/instances/mirrors
执行如下命令:
命令:sudo mkdir -p /etc/docker
接下来执行,输入添加配置文件命令:
命令:sudo tee /etc/docker/daemon.json <<- 'EOF'
跳转到输入>符号
{
"registry-mirrors":
["https://gxeo3yz7.mirror.aliyuncs.com"]
}
输入上述配置后,用下面命令退出
命令:EOF
重启docker配置
命令:sudo systemctl daemon-reload
命令:sudo systemctl restart docker
2、拉取镜像源与配置镜像
做完以上操作就可以尝试拉取镜像了:
首先,我们要知道有哪些镜像可拉取,怎么拉取?Docker Hub上有大量的高质量的镜像可以用,Docker Hub网址为:https://hub.docker.com/ 我们也可以使用docker search命令来搜索镜像。 docker search 镜像名:版本号
参数 :
--automated :只列出 automated build类型的镜像; -
-no-trunc :显示完整的镜像描述; -f <过滤条件>:列出
收藏数不小于指定值的镜像。
有点有效的命令:
显示官方dockersearch[包名] --filter"is-official=true"
过滤热度dockersearch[包名] --stars=3注意了:docker search在我们常用之后才会有真正的效
果,建议还是去网址去查看对应的镜像尝试拉取个tomcat镜像:
命令:docker pull tomcat:8
镜像规则如下:
docker pull [选项] [DockerRegistey地址[:端口号]/] 仓库名 [:标签]
注意:
镜像仓库地址:地址的格式一般是<域名/IP>[:端口号]。默认地址是DockerHub
仓库名: 一般是软件名版本 ,当然某些公司也可以给用户名,如果不写版本,那么默认会拉取最新的
管理镜像:
命令:docker 可以用docker image ls/或者docker images命令来查看
下载好的镜像
镜像与下载软件有啥区别?
镜像是多层的,从下载就能看出来,那么它的层级是可以在不同情况下复用的,因为dokcer镜像是多层结构,所以不同的镜像可能会使用相同的基础镜像,从而拥有共同层。所以,实际镜像的硬盘占用空间要比这个列表镜像大小的总和要小很多!
虚悬镜像:官方更新后,同名镜像被转到了新的下载镜像下,旧镜像就没有了仓库名与标签,这种镜像可以直接删除
命令:docker image prune
那如果我要删除一个镜像怎么办呢?
命令:docker image rm [选项] <镜像1>[<镜像2>.....]
如果要删除本地的镜像,也可以使用
命令:docker image rmi 镜像ID
dokcer pull 表示拉取镜像,那么具体能拉取哪些镜像呢?
查看本地镜像的IMAGE ID
命令:docker images -q
查看⼀个镜像的制作历程
命令:docker history 镜像名称
3. Dokcer 启动容器
docker run参数 镜像名称:tag执⾏的命令
参数说明:
-i 保持和 docker 容器内的交互,启动容器时,运⾏的命令结束后,容器依然存活,没有退出(默认是会退出,即停⽌的)
-t 设置参数“-t”可以为容器重新分配一个伪输入终端,而设置参数“-d”则会在后台运行容器,并返回容器ID。
-d 后台运⾏容器
--rm 容器在启动后,执⾏完成命令或程序后就销毁 --name 给容器起⼀个⾃定义名称
-p 宿主机:内部端口
查看所有容器:
命令:docker ps -a
停止容器:
命令:docker stop 容器ID
命令:docker container stop 容器ID或者名字
启动容器
命令:docker start 容器名/容器 ID
如果是启动命令错了,需要重新配置,可以删除容器
命令:docker rm -f 容器名