1. Docker简述
最近十年以来,服务器市场开始向云端转变,人们更多开始租用由云厂商提供的虚拟服务器,人们只需要轻松点击按钮即可获得一台服务器。
通常我们创建完服务器后,需要往里面安装各种应用软件,同时还需要进行各种配置。当只有一两台服务器时,这些操作还算简单,但一旦服务器的数量多起来,那人工设置的方法就不太现实了。
此时 Immutable Infrastructure 的概念开始出现,其主要的内容就是OS与服务运行环境分离。也就是服务运行环境创建为对象后,部署至服务器运行。Docker正是实现这么一个功能的工具。
2. 虚拟机与Docker
虚拟机是我们接触比较多的东西,常见的虚拟机软件包括VMware、Virtual PC等。虽然虚拟机十分方便,但是性能不佳,虽然软件厂商做了大量的优化,但与物理机相比总有性能的差距。其次是镜像文件较大,下载时非常耗时。
Docker作为一种更轻量化的方式,不需要安装客户OS。Docker镜像只隔离并安装服务器所需的程序与库,与主机共享OS资源,大大减小了镜像的体积。
3. Docker镜像与容器
Docker有“镜像”与“容器”概念。
-
基础镜像
Linux发行版userland中安装的文件,一般为Linux发行版本的名称。OS 可划分为内核空间和用户空间,用户空间运行的可执行文件与库称为userland,其通常包含启动所需的可执行文件、库及原有的包系统。
-
依赖
Docker不会创建整个镜像,而是只针对变化的部分进行创建,然后引用父镜像,这种方式被称为层。
-
容器
容器是处于运行状态的镜像,使用一个镜像可以创建多个容器。可以将镜像理解为可执行程序,而容器就是其中的线程,
4. 安装Docker
-
Ubuntu
sudo apt-get update sudo apt-get install docker.io sudo ln -sf /usr/bin/docker.io /usr/local/bin/docker //将/usr/bin/docker.io可执行文件链接到/usr/local/bin/docker
-
CentOS 7+
sudo yum install docker sudo service docker start //启动 sudo chkconfig docker on //开机自启
上面的是最简单的安装方式,但在安装时建议按以下步骤执行:(这里使用的是centos7)
-
卸载旧版本
yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine
如果发现yum被锁住,使用reboot重启机器。
输入上面的命令会弹出以下内容。
-
需要的安装包
yum install -y yum-utils
-
设置镜像仓库
下面这个是国外的,会很慢。
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
-
安装docker相关的 docker-ce 社区版 而ee是企业版
yum install docker-ce docker-ce-cli containerd.io
-
测试是否安装成功
docker version
-
启动Docker
systemctl start docker
-
HelloWorld镜像
docker run hello-world
-
卸载
yum remove docker-ce docker-ce-cli containerd.io rm -rf /var/lib/docker
到这里Docker的入门篇1就结束了,以后将继续更新Docker入门篇2。