Docker容器


1 Docker简介

  官网:https://www.docker.com/

1.1 使用Docker的背景

  企业使用一项技术是为了解决当前企业环境中存在的某个痛点。目前整个软件行业存在着以下几个痛点:

  1.软件更新发布及部署低效,过程烦琐且需要人工介入。

  2.环境一致性难以保证。

  3.不同环境之间迁移成本太高。

1.2 Docker能解决的问题

  Docker 的使用十分简单,从开发的角度来看就是“三步走”:构建、运输、运行。其中,关键步骤是构建环节,即打包镜像文件。但是从测试和运维的角度来看,那就只有两步:复制、运行。有了这个镜像文件,想复制到哪里运行都可以,完全和平台无关。

  Docker 这种容器技术隔离出了独立的运行空间,不会和其他应用争用系统资源,不需要考虑应用之间的相互影响。

  在构建镜像时就处理完了服务程序对于系统的所有依赖,所以在使用时,可以忽略原本程序的依赖以及开发语言。对测试和运维人员而言,可以更专注于自己的业务内容。

  Docker 为开发者提供了一种开发环境的管理办法,帮助测试人员保证环境的同步,为运维人员提供了可移植的标准化部署流程。

1.3 Docker概念

  Docker 是一种运行于 Linux 和 Windows 上的软件,用于创建、管理和编排容器

  1.Docker公司

  Docker 公司位于旧金山,由法裔美籍开发者和企业家 Solumon Hykes 创立,其标志如下图所示。

  Docker 公司起初是一家名为 dotCloud 的平台即服务(Platform-as-a-Service, PaaS)提供商。

  底层技术上,dotCloud 平台利用了 Linux 容器技术。为了方便创建和管理这些容器,dotCloud 开发了一套内部工具,之后被命名为“Docker”。Docker就是这样诞生的!

  2013年,dotCloud 的 PaaS 业务并不景气,公司需要寻求新的突破。于是聘请了 Ben Golub 作为新的 CEO,将公司重命名为“Docker”,放弃dotCloud PaaS 平台,怀揣着将 Docker 和容器技术推向全世界”的使命,开启了一段新的征程。

提示:“Docker”一词来自英国口语,意为码头工人(Dock Worker),即从船上装卸货物的人。

  2.Docker引擎

  Docker 引擎可以从 Docker 网站下载,也可以基于 GitHub 上的源码进行构建。无论是开源版本还是商业版本,都有 Linux 和 Windows 版本。

  Docker 引擎主要有两个版本:企业版(EE)和社区版(CE)。

  每个季度,企业版和社区版都会发布一个稳定版本。社区版本会提供 4 个月的支持,而企业版本会提供 12 个月的支持。

安装Docker

1.查看内核版本

linux操作系统Centos7,linux 3.10 内核,docker官方说至少3.8以上(ubuntu下要linux内核3.8以上)

[root@msr-server ~]# uname -a
Linux msr-server 3.10.0-514.26.2.el7.x86_64 #1 SMP Tue Jul 4 15:04:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

2.更新yum包

[root@msr-server ~]# yum update

3.安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的(一般更新完都有了)

[root@msr-server ~]# yum -y install gcc
[root@msr-server ~]# yum -y install gcc-c++
[root@msr-server ~]# yum install -y yum-utils device-mapper-persistent-data lvm2

4.设置docker yum源(可选)

[root@msr-server ~]# sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

5.查看仓库中docker版本,可以指定安装,不指定安装最新版本

[root@msr-server ~]# yum list docker-ce --showduplicates | sort -r
Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast
Loaded plugins: fastestmirror
Installed Packages
docker-ce.x86_64            3:19.03.5-3.el7                    docker-ce-stable 
docker-ce.x86_64            3:19.03.5-3.el7                    @docker-ce-stable
docker-ce.x86_64            3:19.03.4-3.el7                    docker-ce-stable 
docker-ce.x86_64            3:19.03.3-3.el7                    docker-ce-stable 
docker-ce.x86_64            3:19.03.2-3.el7                    docker-ce-stable 
docker-ce.x86_64            3:19.03.1-3.el7                    docker-ce-stable 
docker-ce.x86_64            3:19.03.0-3.el7                    docker-ce-stable 
docker-ce.x86_64            3:18.09.9-3.el7                    docker-ce-stable 
docker-ce.x86_64            3:18.09.8-3.el7                    docker-ce-stable 
docker-ce.x86_64            3:18.09.7-3.el7                    docker-ce-stable 
docker-ce.x86_64            3:18.09.6-3.el7                    docker-ce-stable 
docker-ce.x86_64            3:18.09.5-3.el7                    docker-ce-stable 
docker-ce.x86_64            3:18.09.4-3.el7                    docker-ce-stable 
docker-ce.x86_64            3:18.09.3-3.el7                    docker-ce-stable 
docker-ce.x86_64            3:18.09.2-3.el7                    docker-ce-stable 
docker-ce.x86_64            3:18.09.1-3.el7                    docker-ce-stable 
docker-ce.x86_64            3:18.09.0-3.el7                    docker-ce-stable 
docker-ce.x86_64            18.06.3.ce-3.el7                   docker-ce-stable 
docker-ce.x86_64            18.06.2.ce-3.el7                   docker-ce-stable 
docker-ce.x86_64            18.06.1.ce-3.el7                   docker-ce-stable 
docker-ce.x86_64            18.06.0.ce-3.el7                   docker-ce-stable 
docker-ce.x86_64            18.03.1.ce-1.el7.centos            docker-ce-stable 
docker-ce.x86_64            18.03.0.ce-1.el7.centos            docker-ce-stable 
docker-ce.x86_64            17.12.1.ce-1.el7.centos            docker-ce-stable 
docker-ce.x86_64            17.12.0.ce-1.el7.centos            docker-ce-stable 
docker-ce.x86_64            17.09.1.ce-1.el7.centos            docker-ce-stable 
docker-ce.x86_64            17.09.0.ce-1.el7.centos            docker-ce-stable 
docker-ce.x86_64            17.06.2.ce-1.el7.centos            docker-ce-stable 
docker-ce.x86_64            17.06.1.ce-1.el7.centos            docker-ce-stable 
docker-ce.x86_64            17.06.0.ce-1.el7.centos            docker-ce-stable 
docker-ce.x86_64            17.03.3.ce-1.el7                   docker-ce-stable 
docker-ce.x86_64            17.03.2.ce-1.el7.centos            docker-ce-stable 
docker-ce.x86_64            17.03.1.ce-1.el7.centos            docker-ce-stable 
docker-ce.x86_64            17.03.0.ce-1.el7.centos            docker-ce-stable 
Determining fastest mirrors
Available Packages

6.安装docker

[root@msr-server ~]# yum makecache fast
[root@msr-server ~]# yum install docker-ce # 安装最新版

7.启动Docker,加入开机启动,验证安装

[root@msr-server ~]# systemctl start docker
[root@msr-server ~]# systemctl enable  docker
[root@msr-server ~]# docker version

8.测试

docker run hello-world
docker images

9.卸载docker

yum list installed | grep docker
yum -y remove docker-ce.x86_64
...

文章作者: 罗宇
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 罗宇 !
  目录