Docker容器及安装 01

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

前言

在这里插入图片描述

1.1 从环境配置说起

环境配置是软件开发的一大难题。开发、测试及运维人员需要相同的代码运行环境如此一来就需要多次搭建环境想想就觉得麻烦实际上在不了解docker等容器技术以前还真就是这么干的手动滑稽。开发者常常会说“它在我的机器可以跑了”It works on my machine言外之意就是在其他机器上可能会有问题。

在容器技术出现以前虚拟机技术是一种将程序连同操作系统打包的解决方案。可以先搭好一套虚拟机环境然后给测试和运维clone出来使用但是这种方案缺点也很明显
1资源占用多相较于一个单纯的程序操作系统是一个很臃肿的程序。我们知道操作系统运行起来是需要占用很多资源的大家对此肯定深有体会刚装好的系统还什么都还没装内存几个G没了磁盘几十个G没了
2启动慢虚拟机启动一般要等几分钟应用程序才能真正运行。

1.2 Linux 容器

由于虚拟机存在以上缺点Linux发展出了另一种虚拟化技术Linux containerlinux容器简称 LXC。LXC是一种轻量级的容器虚拟化技术最大效率的隔离了进程和资源。它通过cgroup 和 namespace等限制隔离进程组所使用的物理资源如CPU、内存等。 实际上LXC在7、8年前就已经加入到linux内核了。然而直到2013年docker出世的时候才火起来换句话说如果没有云计算敏捷开发高频度的弹性伸缩需求没有IT行业这么多年长足的发展可能也就没有docker了。

二、什么是Docker

Docker是dotCloud公司开源的一个基于LXC的高级容器引擎源码托管在Github上基于go语言并且遵从Apache2.0协议开源。 GitHub地址https://github.com/moby/moby

Docker 属于 Linux 容器的一种封装提供简单易用的容器使用接口。它是目前最流行的 Linux 容器解决方案。

Docker 将应用程序与该程序的依赖打包在一个文件里面。运行这个文件就会生成一个虚拟容器。程序在这个虚拟容器里运行就好像在真实的物理机上运行一样。有了 Docker就不用担心环境问题。

简单来说就是docker解决了运行环境不一致所带来的问题

三、Docker 的用途

  1. 提供一次性的环境。比如本地测试他人的软件、持续集成的时候提供单元测试和构建的环境。
  2. 动态扩缩容。因为 Docker 容器的开关很方便
  3. 组建微服务架构。通过多个容器一台机器可以跑多个服务因此在本机就可以模拟出微服务架构。

Docker局限性
Docker用于应用程序时是最有用的但并不包含数据。一个容器的镜像通常都很小不用和存储大量数据存储可以通过外部挂载等方式使用比如NFS、ipsan、MFS等 或者docker命令 -v映射磁盘分区。这个我们后面的文章会详细讲解。

四、Docker安装

环境CentOS Linux release 7.9.2009 (Core)

4.1 依赖安装

yum install -y yum-utils device-mapper-persistent-data lvm2

4.2 配置国内docker-ce的yum源这里用的是阿里云

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
ls /etc/yum.repos.d/

配置完执行 ls /etc/yum.repos.d/ 如果看到docker-ce.repo说明配置成功。

在这里插入图片描述

4.3 安装

yum -y install docker-ce doker-ce-cli containerd.io

4.4 修改/etc/sysctl.conf 配置

vim /etc/sysctl.conf   #插入以下内容
net.ipv4.ip_forward = 1


sysctl -p   #生效

cat /proc/sys/net/ipv4/ip_forward  #查看结果为1开启成功。

4.5 启动服务并设置开机自启

systemctl start docker ## 启动docker
systemctl enable docker  ## 开机自启

docker version # 查看docker 版本
在这里插入图片描述

这里我们很清晰的可以看到docker是一个C/S架构。客户端就是我们的命令行操作服务端是一个守护进程在后台运行。

docker info # 查看docker信息

在这里插入图片描述可以看到docker版本系统内核版本、操作系统、CPU核心数、运行内存、存放镜像位置、registry仓库地址等。

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: Docker