一、什么是容器?

Docker 容器是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器
中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app)。几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架包括系统。

容器就是在隔离的环境运行的一个进程,如果进程停止,容器就会销毁。(隔离的环境拥有自己的系统文件、IP地址、主机名等)

二、容器和虚拟化的区别

kvm虚拟化:需要硬件的支持,需要模拟硬件,可以运行不同的操作系统,启动时间为分钟级。
docker容器:共用宿主机内核,轻量级,损耗少,启动快,性能高,只支持Linux系统,启动时间为秒级
docker容器和KVM虚拟化的区别:https://www.qstack.com.cn/archives/148.html

三、docker的主要组成部分

docker是传统的CS架构分为docker client和docker server。
docker主要组件有:镜像、容器、仓库、网络、存储
docker启动容器必须需要一个镜像,仓库中只存储镜像

四、docker的安装

4.1 修改主机名和IP,添加hosts解析

hostnamectl set-hostname docker01 && bash
sed -ri 's#(IPADDR=)(.*)#\110.0.0.11#g' /etc/sysconfig/network-scripts/ifcfg-eth0
systemctl restart network
echo '10.0.0.11 docker01' >>/etc/hosts

4.2 修改yum源

curl -o /etc/yum.repos.d/CentOS-Base.repo \
http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/docker-ce.repo \
https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo
sed -i 's#download.docker.com#mirrors.tuna.tsinghua.edu.cn/docker-ce#g' \
/etc/yum.repos.d/docker-ce.repo

4.3 下载安装

yum install docker-ce -y

4.4 启动并设置为开机启动

systemctl restart docker
systemctl enable docker

五、启动一个容器

5.1 启动docker

systemctl restart docker
systemctl enable docker

5.2 配置docker镜像加速

[root@docker01 ~]# cat /etc/docker/daemon.json
{
"registry-mirrors": ["https://registry.docker-cn.com"]
}

5.3 创建并运行一个容器

[root@docker01 ~]# docker run -d -p 80:80 nginx:laster
参数说明:
run:创建并运行一个容器
-d :放在后台执行
-p :端口映射
nginx:docker镜像的名字
[root@docker01 ~]# echo "游览器输入: http://hostname -i"
游览器输入: http://10.0.0.11


做事滴水穿石,做人滴水不漏