Docker 安装
Docker 安装
软件版本
- 物理宿主机系统:Windows10 家庭中文版
- 虚拟机软件:VMware Workstation 10.0.1版本
- 虚拟机系统:CentOS 7.4 64位操作系统
- SSH终端软件:Xshell 6
环境查看
# 系统内核是3.10以上的
[fenixgao@localhost ~]$ uname -r
3.10.0-693.el7.x86_64
# 系统版本
[fenixgao@localhost ~]$ 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"
安装
帮助文档:https://docs.docker.com/engine/install/centos/
Docker fo Linux
Install on CentOS
# 1.卸载旧版本
[root@localhost fenixgao]# sudo yum remove docker \
> docker-client \
> docker-client-latest \
> docker-common \
> docker-latest \
> docker-latest-logrotate \
> docker-logrotate \
> docker-engine
# 2.需要的安装包
yum install -y yum-utils
# 3.设置镜像仓库
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo # 默认是国外的!
yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo # 阿里云
yum-config-manager \
--add-repo \
https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo #清华大学源
# 补充: 更新yum软件包索引
yum makecache fast
# 4. 安装docker相关的引擎 docker-ce 社区版(推荐) docker-ee 企业版
yum install docker-ce docker-ce-cli containerd.io #下载最新版本
# 5.启动docker
systemctl start docker
# 6.使用docker version 检验是否安装成功
docker version
# 7.测试docker 引擎
docker run hello-world
- 箭头1是指docker 引擎查找不到镜像(image),pull是取libray中拉取信息
- 箭头2是指安装成功了
# 8. 查看一下下载的这个hello-world镜像
[root@localhost fenixgao]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest bf756fb1ae65 5 months ago 13.3kB
卸载Docker
# 1、卸载依赖
yum remove docker-ce docker-ce-cli containerd.io
# 2、删除资源
rm -rf /var/lib/docker
# /var/lib/docker docker的默认工作路径!
阿里云镜像
1、登录阿里云找到容器服务
2、找到镜像加速器
3.配置使用
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://y76mqbg9.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
HelloWorld Run的流程
底层原理
Docker怎么工作的?
-
Docker Engine是具有以下主要组件的客户端-服务器应用程序:服务器是一种称为守护进程(dockerd命令)的长期运行程序。
REST API,它指定程序可以用来与守护程序进行通信并指示其操作的接口。
命令行界面(CLI)客户端(docker命令) -
Docker是一个Client-Srver结构的系统,Docker的守护进程运行在主机上。通过Socket从客户端访问!
-
Docker-Server接收到Docker-Clent的指令,就会执行这个命令!
CLI使用Docker REST API通过脚本或直接CLI命令来控制Docker守护程序或与Docker守护程序进行交互。 许多其他Docker应用程序都使用基础API和CLI。
守护程序创建和管理Docker对象,例如镜像,容器,网络和卷。
Docker 为什么比VM快?
1、 Docker 有着虚拟机更少的抽象层。
2、 Docker 利用的是宿主机的内核,VM需要是Guest OS。
所以说,新建一个容器的时候,docker不需要像虚拟机一样重新加载一个操作系统内核。
虚拟机是加载Guest OS,分钟级别的,
而docker是利用宿主机的操作胸膛,省略了这个复杂的过程,秒级的。