目录
一、基础概念
虚拟机:带环境安装的一种解决方案。
它可以在一个操作系统里面安装运行另外一种系统。
虚拟机缺点:资源占用多、冗余步骤多、启动慢
虚拟化技术:
由于前面虚拟机存在这些缺点,Linux发展出了另一种虚拟化技术:Linux容器(Linux Containers,缩写为LXC)。
Linux容器不是模拟一个完整的操作系统,而是对进程进行隔离。有了容器,就可以将软件运行所需的所有资源打包到一个隔离的容器中。容器与虚拟机不同,不需要捆绑一整套操作系统,只需要软件工作所需的库资源和设置。系统因此而变得高效轻量并保证部署在任何环境中的软件都能始终如一地运行。
比较了Docker和传统虚拟化方式的不同之处:
*传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统,在该系统上再运行所需应用进程;
*而容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核,而且也没有进行硬件虚拟。因此容器要比传统虚拟机更为轻便。
Docker的基本组成:
镜像:是一个只读的模板,镜像可以用来创建Docker容器,一个镜像可以创建很多容器;
容器:是利用镜像创建的运行实例。它可以被启动、开始、停止、删除。每个容器都是互斥隔离的,保证平台的安全。容器的定义和镜像的定义几乎一模一样,也是一层一层的视角,好像是花卷。唯一区别是最上面那一层是可读可写的。
仓库:是几种存放镜像的地方。
二、下载地址:
Docker是基于Go语言的开源项目。
一处构建,到处运行。
docker要求centos是6.5版本以上,系统64位,内核版本2.6.32-431或更高;
uname -r 查看自己的内核
如果是7版本的话
cat /etc/redhat-release 查看
Docker使用EPEL发布,RHEL系的OS首先要确保已经持有EPEL仓库,否则先检查OS的版本,然后安装相应的EPEL包。
安装步骤:
1、卸载老的版本(如果之前安装过的话)
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2、搭建仓库
sudo yum install -y yum-utils
$ sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
一些可选的操作:启用夜间或测试存储库。
这些存储库包含在上面的文件中,但默认情况下是禁用的。您可以在稳定存储库旁边启用它们。以下命令启用夜间存储库。docker.repo
$ sudo yum-config-manager --enable docker-ce-nightly
要启用测试通道,运行以下命令:
$ sudo yum-config-manager --enable docker-ce-test
您可以通过与标志一起运行命令来禁用夜间或测试存储库。要重新启用它,请使用标志。以下命令禁用夜间存储库。yum-config-manager--disable--enable
$ sudo yum-config-manager --disable docker-ce-nightly
3、安装Docker引擎(默认安装最新版)
sudo yum install docker-ce docker-ce-cli containerd.io
4、开始docker
sudo systemctl start docker
5、运行hello-world镜像
sudo docker run hello-world
6、阿里云镜像配置(镜像从阿里云下载,跳过docker hub)
加速地址:https://yvz2zyfy.mirror.aliyuncs.com
7、您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://yvz2zyfy.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
ps -ef | grep docker 查看是否修改成功
8、运行hello-world程序
docker run hello-world
run干了什么?