【Docker】2.Docker安装

文章目录

    • Docker
        • Docker Official Website
        • Docker Install
        • Docker Change Image
        • Docker Change Dir

Docker

Docker本质其实时LXC之类的增强版,它本身不是容器,而是容器的易用工具。Docker时让容器技术普及开来的最成功的实现。它的主要目标是"Build, Ship and Run Any APP, anytwhere",使得用户的应用及其余小宁环境可以做到"一次封装,到处运行"

Docker创建容器时,不再使用模板去安装生成,而是通过镜像技术(把一个操作系统用户空间所需要的组件事先编排好,并整体打包成一个.image文件),托管在镜像仓库中。当需要创建容器时,Docker直接调用LXC工具lxc-create,但不通过LXC模板安装,而是直接连接镜像仓库下载匹配文件,再基于镜像启动容器。

Docker Official Website

Docker 官网 https://www.docker.com/

【Docker】2.Docker安装_第1张图片


开发者文档

【Docker】2.Docker安装_第2张图片

重点:Manuals和Reference


Docker 官方架构

Docker 使用客户端-服务器(C/S)架构模式,使用远程API来管理和创建Docker容器。Docker容器通过Docker镜像来创建

【Docker】2.Docker安装_第3张图片

Docker仓库 Registry 用于保存镜像。Docker Hub拱了庞大的镜像集合供使用
Docker daemon 服务器组件(类似于接待员),Docker最核心的后台进程,我们页把他称之为守护进程
Docker客户端(Client) 通过命令行或者其他工具使用Docker API和Docker的守护进程通信
Docker主机(Host) 一个和物理或者虚拟的机器用于执行Docker守护进程和容器
Docker镜像(Images) Docker镜像用于创建Docker容器的模板

Docker Install

# 卸载
cat /etc/*release*    # 确认操作系统
uname -a  		     #  确认cpu架构

sudo yum remove docker \
 docker-client \
 docker-client-latest \
 docker-common \
 docker-latest \
 docker-latest-logrotate \
 docker-logrotate \
 docker-engine
 
 # 删除机器上的包
 sudo yum remove docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras
 sudo rm -rf /data/var/lib/docker
 sudo rm -rf /etc/docker/daemon.json
 sudo yum install -y yum-utils
 sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
 sed -i 's@//download.docker.com@//mirrors.ustc.edu.cn/docker-ce@g'  /etc/yum.repos.d/docker-ce.repo
 sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
 #配置加载
sudo systemctl daemon-reload 
#启动服务
sudo systemctl start docker 
#开启启动
sudo systemctl enable docker
#查看服务状态
sudo systemctl status docker

Docker Change Image

# 在配置文件/etc/docker/daemon.json 中加入镜像源信息
[root@VM-20-6-centos docker]# cat daemon.json 
{
	"registry-mirrors": [
        "http://hub-mirror.c.163.com",
        "https://docker.mirrors.ustc.edu.cn",
        "https://registry.docker-cn.com"
    ]
}


[root@VM-20-6-centos docker]# ll
total 4
-rw-r--r-- 1 root root 160 May 26 21:10 daemon.json
[root@VM-20-6-centos docker]# systemctl daemon-reload    # 更新配置
[root@VM-20-6-centos docker]# systemctl restart docker   # 重启服务

Docker Change Dir

Docker默认安装目录在var/lib/docker,这里面通常会存放很多镜像,所以我们在安装时需要考虑这个目录的空间,有三种解决方案

  • 将/var/lib/docker目录挂载到一个很大的磁盘,像腾讯云在安装K8S的结点时就提供这种选项
  • 安装之前挂载一个大磁盘,然后创建一个软连接到/var/lib/docker. 这样就自动安装到大磁盘上
  • 修改docker的配置文件
# 方案3
#假定我们磁盘的大的目录为 /data
mkdir -p /data/var/lib/docker 
# 编辑配置文件
vim /etc/docker/daemon.json
# 输入下面的 json
{
"data-root": "/data/var/lib/docker"
}
# 加载配置
sudo systemctl daemon-reload 
# 重启 docker
sudo systemctl restart docker 
#查看 docker 状态
sudo systemctl status docker

# 可以看到docker将自己的配置文件都移动过来了
[root@VM-20-6-centos docker]# ll /data/var/lib/docker/
total 44
drwx--x--x 4 root root 4096 May 26 21:22 buildkit
drwx--x--- 2 root root 4096 May 26 21:22 containers
-rw------- 1 root root   36 May 26 21:22 engine-id
drwx------ 3 root root 4096 May 26 21:22 image
drwxr-x--- 3 root root 4096 May 26 21:22 network
drwx--x--- 3 root root 4096 May 26 21:22 overlay2
drwx------ 4 root root 4096 May 26 21:22 plugins
drwx------ 2 root root 4096 May 26 21:22 runtimes
drwx------ 2 root root 4096 May 26 21:22 swarm
drwx------ 2 root root 4096 May 26 21:22 tmp
drwx-----x 2 root root 4096 May 26 21:22 volumes

你可能感兴趣的:(Docker,docker,容器,运维)