目录
1.Docker虚拟化
1.1 Docker虚拟化三个概念
镜像:Docker的镜像其实就是模板,跟我们常见的IOS镜像类似,是一个样板
容器:使用镜像常见的应用或者系统,我们称之为一个容器
仓库:仓库是存放镜像的地方,分为公开仓库(Public)和私有仓库(Private)两种形式。
物理机 -- 大海
Docker引擎 -- 货轮
Docker容器 -- 集装箱
应用服务 -- 货物
1.2 Docker虚拟化
Docker虚拟化特点:轻量级、高性能、安全、稳定、管理方便等。
2.Docker部署
本次部署采用yum安装和源码安装
2.1 源码安装
基于CentOS7.x Linux系统,从0开始构建一套Docker虚拟化平台,采用二进制Tar包方式,部署的方法和指令如下
从Docker官网下载软件包;
root@zfl ~]# wget https://download.docker.com/linux/static/stable/x86_64/docker-20.10.9.tgz
通过Tar工具对其解压缩;(-x extract解压,-z gzip压缩格式,-v verbose详细显示,-f file文件属性)
[root@zfl ~]# ls
anaconda-ks.cfg docker-20.10.9.tgz
[root@zfl ~]# tar -xzvf docker-20.10.9.tgz
docker/
docker/containerd-shim-runc-v2
docker/dockerd
docker/docker-proxy
docker/ctr
docker/docker
docker/runc
docker/containerd-shim
docker/docker-init
docker/containerd
[root@zfl ~]#
将解压后的Docker程序部署至/usr/local/目录;
[root@zfl ~]# \mv docker /usr/local/
创建Docker用户和组,同时授权Docker用户和组访问权限;
[root@zfl docker]# useradd -s /sbin/nologin docker -M
[root@zfl docker]# chown -R docker.docker /usr/local/docker/
将Docker程序部署目录加入PATH环境变量中;
[root@zfl docker]# cat>>/etc/profile<<EOF
> export PATH=\$PATH:/usr/local/docker/
> EOF
[root@zfl docker]# source /etc/profile
#启动Docker引擎服务;
[root@zfl docker]# nohup /usr/local/docker/dockerd &
[1] 11567
[root@zfl docker]# nohup: 忽略输入并把输出追加到"nohup.out"[root@zfl docker]#
查看Docker服务进程;
[root@zfl docker]# ps -ef|grep -aiE docker
root 11567 11497 0 20:57 pts/0 00:00:00 /usr/local/docker/dockerd
root 11575 11567 0 20:57 ? 00:00:00 containerd --config /var/run/docker/containerd/containerd.toml --log-level info
root 11730 11497 0 20:57 pts/0 00:00:00 grep --color=auto -aiE docker
[root@zfl docker]#
查看Docker版本信息;
[root@zfl docker]# docker version
Client:
Version: 20.10.9
API version: 1.41
Go version: go1.16.8
Git commit: c2ea9bc
Built: Mon Oct 4 16:03:22 2021
OS/Arch: linux/amd64
Context: default
Experimental: trueServer: Docker Engine - Community
Engine:
Version: 20.10.9
API version: 1.41 (minimum version 1.12)
Go version: go1.16.8
Git commit: 79ea9d3
Built: Mon Oct 4 16:07:30 2021
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: v1.4.11
GitCommit: 5b46e404f6b9f661a205e28d59c982d3634148f8
runc:
Version: 1.0.2
GitCommit: v1.0.2-0-g52b36a2d
docker-init:
Version: 0.19.0
GitCommit: de40ad0
[root@zfl docker]#
2.2 Docker启动方式
后台套接字启动
nohup /usr/local/docker/dockerd &
带端口启动
nohup /usr/local/docker/dockerd -H 0.0.0.0:2375 & 但是 server看不了
因此需要带-H
docker -H 127.0.0.1 version
端口套接字启动
nohup /usr/local/docker/dockerd -H 0.0.0.0:2375 -H unix:///var/run/docker.sock &
2.3 yum安装
部署依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2
添加Docker repository,这里使用国内阿里云yum源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装docker-ce,这里直接安装最新版本
yum install -y docker-ce
修改docker配置文件
mkdir /etc/docker
cat > /etc/docker/daemon.json <<EOF
{
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "overlay2",
"storage-opts": [
"overlay2.override_kernel_check=true"
],
"registry-mirrors": ["https://uyah70su.mirror.aliyuncs.com"]
}
EOF
# 注意,由于国内拉取镜像较慢,配置文件最后增加了registry-mirrors
mkdir -p /etc/systemd/system/docker.service.d
重启docker服务
systemctl daemon-reload
systemctl enable docker.service
systemctl start docker.service
查询docker 进程
ps -ef|grep -aiE docker