dcoker介绍和安装
Docker简介
Docker是一个开源的容器引擎,它有助于更快地交付应用。 Docker可将应用程序和基础设施层隔离,并且能将基础设施当作程序一样进行管理。使用 Docker可更快地打包、测试以及部署应用程序,并可以缩短从编写到部署运行代码的周期。Docker是基于go语言开发的。
Docker的优点如下:
Docker 让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,便可以实现虚拟化。Docker改变了虚拟化的方式,使开发者可以直接将自己的成果放入Docker中进行管理。方便快捷已经是 Docker的最大优势,过去需要用数天乃至数周的 任务,在Docker容器的处理下,只需要数秒就能完成。
Docker 官网:https://www.docker.com
docker架构
- Docker daemon( Docker守护进程)
Docker daemon是一个运行在宿主机1( DOCKER-HOST)的后台进程。可通过 Docker客户端与之通信。 - Client( Docker客户端)
Docker客户端是 Docker的用户界面,它可以接受用户命令和配置标识,并与 Docker daemon通信。图中, docker build等都是 Docker的相关命令。 - Images( Docker镜像)
Docker镜像是一个只读模板,它包含创建 Docker容器的说明。它和系统安装光盘有点像,使用系统安装光盘可以安装系统,同理,使用Docker镜像可以运行 Docker镜像中的程序。 - Container(容器)
容器是镜像的可运行实例。镜像和容器的关系有点类似于面向对象中,类和对象的关系。可通过 Docker API或者 CLI命令来启停、移动、删除容器。 - Registry
Docker Registry是一个集中存储与分发镜像的服务。构建完 Docker镜像后,就可在当前宿主机上运行。但如果想要在其他机器上运行这个镜像,就需要手动复制。此时可借助 Docker Registry来避免镜像的手动复制。
一个 Docker Registry可包含多个 Docker仓库,每个仓库可包含多个镜像标签,每个标签对应一个 Docker镜像。这跟Maven的仓库有点类似,如果把 Docker Registry比作 Maven仓库的话,那么 Docker仓库就可理解为某jar包的路径,而镜像标签则可理解为jar包的版本号。Docker Registry可分为公有Docker Registry和私有Docker Registry。 最常⽤的Docker Registry莫过于官⽅的DockerHub, 这也是默认的Docker Registry。 Docker Hub上存放着⼤量优秀的镜像, 我们可使⽤Docker命令下载并使⽤。
Docker安装
Docker 是一个开源的商业产品,有两个版本:社区版(Community Edition,缩写为 CE)和企业版(Enterprise Edition,缩写为 EE)。企业版包含了一些收费服务,个人开发者一般用不到。下面的介绍都针对社区版。
Docker CE 的安装请参考官方文档,我们这里以CentOS为例:
官方安装文档位置 :https://docs.docker.com/engine/install/centos/
阿里的docker镜像使用 :https://developer.aliyun.com/mirror/docker-ce
注意:虽然我是root用户,部分命令还是加了sudo才执行成功—
1、Docker 要求 CentOS 系统的内核版本高于 3.10
通过 uname -r 命令查看你当前的内核版本
uname -r
2、使用 root 权限登录 Centos。确保 yum 包更新到最新。
yum ‐y update
3、卸载旧版本(如果安装过旧版本的话)
sudo yum remove ‐y docker*
4、安装需要的软件包, yum-util 提供yum-config-manager功能
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
5、设置yum源,并更新 yum 的包索引
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum makecache fast
6、可以查看所有仓库中所有docker版本,并选择特定版本安装
yum list docker-ce --showduplicates | sort -r
yum search docker-ce --showduplicates | grep 'docker'|sort -r
# 查看需要安装版本的全称
如果要结合k8s进行使用,k8s版本信息https://github.com/kubernetes/kubernetes/releases,找到对应的changLog,我此时看的是Kubernetes v1.25.2版本信息,在changed中找到了如下一行,所以如果我们是选择k8sV1.25.2版本,那么docker的版本需要低于v20.10.17
-
github.com/docker/docker: v20.10.12+incompatible → v20.10.17+incompatible
incompatible表示不支持
7、安装docker
指定版本安装
安装时镜像下载报错,删除/etc/yum.repos.d下docker相关repo文件,重新添加阿里云镜像仓库
# 3:docker-ce-20.10.16-3.el7.x86_64 是版本全称。指定版本安装
yum install -y 3:docker-ce-20.10.16-3.el7.x86_64
# 如果是这样的话,安装的是镜像中的最新版本
yum install -y docker-ce
8、启动并加入开机启动
systemctl start docker
systemctl enable docker
9、验证安装是否成功(有client和service两部分表示docker安装启动都成功了)
docker version
10、配置docker镜像加速器
我们可以借助阿里云的镜像加速器,登录阿里云(https://cr.console.aliyun.com/#/accelerator)
可以看到镜像加速地址如下图:
# 没有就创建对应目录,将加速地址输入到对应文件,有就进行覆盖,没有就创建并输入对应配置,然后重新加载,并且重启docker
# 这里我使用vim编辑了一下,哎,直接参考阿里的文档吧,--
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://l6b5wweg.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
11、卸载docker
yum remove -y docker*
rm -rf /etc/systemd/system/docker.service.d
rm -rf /var/lib/docker
rm -rf /var/run/docker
关联信息
- 关联的主题:docker : https://www.liuchengtu.com/swdt/loading.htm#cd96bdebac5a1d23ffc617839bc2acfd
- 上一篇:
- 下一篇:
- image: 20221006/1
一般是指物理机或者云主机,就是你部署dcoker这个程序的机器 ↩︎