docker安装
环境准备
1.Centos7
环境查看
# 系统内核是3.0以上
[root@iZb6u9q07jrcg8Z ~]# uname -r
3.10.0-1127.19.1.el7.x86_64
# 系统版本
[root@iZb6u9q07jrcg8Z ~]# cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
安装
1.卸载旧的版本
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2.需要的安装包
yum -y install yum-utils
3.设置镜像的仓库
#官方安装
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
#阿里云安装
yum-config-manager \
--add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
更新yum软件包索引
yum makecache fast
4.安装docker docker-ce 社区版 ee 企业版
yum install docker-ce docker-ce-cli containerd.io
5.启动docker
systemctl start docker
6.使用docker version 是否安装成功
docker version
7.使用docker run
docker run hello-world
8.查看镜像
docker images
阿里云镜像加速
配置使用
# ipv4转发
vim /etc/sysctl.conf
# 添加以下语句并保存
net.ipv4.ip_forward=1
sysctl -p
net.ipv4.ip_forward = 1
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://ledt7umi.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
run流程和docker原理
底层原理
Docker是怎么工作的?
Docker 是一个 client-Server结构的系统,Docker的守护进程运行在主机上。通过Socket从客户端访问!
DockerServer接收到DockerClient的指令,就会执行这个命令!
Docker为什么比VM快?
1.Docker有着比虚拟机更少的抽象层。
2.Docker利用的是宿主机的内核,VM需要的是Guest OS
所以说,新建一个容器的时候,docker不需要像虚拟机一样重新加载一个操作系统内核,避免引导。虚拟机是加载Guest OS,分钟级别的,而Docker是利用宿主机的操作系统,省略了这个复杂的过程,秒级别的!
Docker容器 | LXC | VM | |
---|---|---|---|
虚拟化类型 | OS虚拟化 | OS虚拟化 | 硬件虚拟化 |
性能 | =物理机性能 | =物理机性能 | 5%-20%损耗 |
隔离性 | NS隔离 | NS隔离 | 强 |
Qos | Cgroup弱 | Cgroup弱 | 强 |
安全性 | 中 | 差 | 强 |
GuestOS | 全部 | 只支持Linux | 全部 |
可迁移性 | 强 | 弱 | 强 |