图/文:迷神

什么是容器、Docker容器

容器是一个标准的软件单元,它将代码及其所有依赖关系打包,以便应用程序从一个计算环境快速可靠地运行到另一个计算环境。Docker容器映像是一个轻量级,独立的可执行软件包,包含运行应用程序所需的一切:代码,运行时,系统工具,系统库和设置。

容器映像在运行时成为容器,在Docker容器的情况下 – 映像在Docker Engine上运行时成为容器。适用于基于Linux和Windows的应用程序,无论基础架构如何,容器化软件都将始终运行相同。容器将软件与其环境隔离开来,并确保它可以统一运行,尽管开发和分段之间存在差异。




sudo snap 卸载docker 卸载docker desktop_desktop docker 无法卸载


Docker容器特点:

标准: Docker创建了容器的行业标准,因此它们可以随处携带

轻量级:容器共享机器的操作系统内核,因此不需要每个应用程序的操作系统,从而提高服务器效率并降低服务器和许可成本。对比虚拟机(VM)是物理硬件的抽象,将一台服务器转变为多台服务器。管理程序允许多台VM在单台机器上运行。每个VM都包含操作系统的完整副本,应用程序,必要的二进制文件和库 - 占用数十GB。虚拟机也可能很慢启动。。

安全:应用程序在容器中更安全,Docker提供业界最强大的默认隔离功能

Docker版本区别

很多人问到 docker, docker.io, docker-engine 甚至 lxc-docker 都有什么区别?其中,RHEL/CentOS 软件源中的 Docker 包名为 docker;Ubuntu 软件源中的 Docker 包名为 docker.io;而很古老的 Docker 源中 Docker 也曾叫做 lxc-docker。这些都是非常老旧的 Docker 版本,并且基本不会更新到最新的版本,而对于使用 Docker 而言,使用最新版本非常重要。另外,17.04 以后,包名从 docker-engine 改为 docker-ce,因此从现在开始安装,应该都使用 docker-ce 这个包。


Docker安装步骤

好了,上面基本上是废话了,下面正式安装步骤。

官方对 CentOS 操作系统安装 Docker 的最低版本要求是 Centos7 的版本

1、先卸载掉老版本

sudo yum remove docker 
 docker-common 
 docker-selinux 
 docker-engine
2、配置 YUM 仓库
sudo yum install -y yum-utils 
 device-mapper-persistent-data 
 lvm2
添加官方 repo
sudo yum-config-manager 
 --add-repo 
 https://download.docker.com/linux/centos/docker-ce.repo
3、安装最新版本的 Docker
sudo yum install docker-ce
#也可以安装指定版本, 安装指定版本格式
$ yum install docker-ce-
# 示例
yum install docker-ce-17.12.1.ce
#列出来有哪些版本
yum list docker-ce --showduplicates | sort -r


sudo snap 卸载docker 卸载docker desktop_应用程序_02


4、配置镜像加速

vim /etc/docker/daemon.json
{
 "registry-mirrors": ["https://registry.docker-cn.com"],
 "max-concurrent-downloads": 10
}
5、启动 Docker
systemctl enable docker.serice
systemctl start docker.service

6、允许远程客户端请求本地 docker daemon

默认情况下,Docker daemon 只能响应本地 Host 上的客户端请求。如果远程请求需要修改。编辑配置文件 /etc/systemd/system/multi-user.target.wants/docker.service,在环境变量 ExecStart 后面添加 -H tcp://0.0.0.0,允许来自任意 IP 的客户端连接。


sudo snap 卸载docker 卸载docker desktop_Docker_03


重启 Docker daemon
systemctl daemon-reload
systemctl restart daemon-reload

# 如果是第一次启动这里的 restart 就换成 start

随着分布式、云计算、大数据的火热爆发,大量的云计算集群出现,光凭计算机硬件配置的已经无法再次一较高下,虚拟化成为其中最核心的技术。虚拟化既可以通过硬件模拟,也可以通过操作系统层面去实现,近年来热火朝天的容器轻量级虚拟化,保留了操作系统本身的机制和特性,而Docker在此脱颖而出。