Docker 环境搭建和配置

由于最近正在学习Docker相关的容器化知识,为了养成记录的良好习惯故写了这篇文章,本人技术尚浅,如果文章中有什么地方讲的不对,请各位大佬在评论区指出。

一、什么是Docker?

Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目。它基于 Google 公司推出的 Go 语言实现。 项目后来加入了 Linux 基金会,遵从了 Apache 2.0 协议,项目代码在 GitHub 上进行维护。

Docker 项目的目标是实现轻量级的操作系统虚拟化解决方案。 Docker 的基础是 Linux 容器(LXC)等技术。在 LXC 的基础上 Docker 进行了进一步的封装,让用户不需要去关心容器的管理,使得操作更为简便。用户操作 Docker 的容器就像操作一个快速轻量级的虚拟机一样简单。

Docker 使您能够将基于Windows服务器、Linux和大型机的传统和云本机应用程序纳入自动化和安全的供应链,促进开发人员到运营部门的协作,并缩短价值实现时间。

Docker 提高了生产效率并缩短了将应用程序推向市场所需的时间,因此您现在拥有了投资贯穿整个价值链的关键数字化项目所需的资源,例如应用程序现代化、云迁移和服务器整合。有了Docker,您就有了一个解决方案,可以帮助您管理今天所拥有的各种应用程序、云和基础设施,同时为您的业务提供一条通向未来应用程序的道路。

以上一部分摘抄自Docker官网:https://www.docker.com/why-docker
Docker已经不是一个很新的容器化技术了,现在相比于Docker更优秀的容器化技术有Kubernetes和Swarm,目前很多大公司如惠普、阿里、京东等都是使用Kubernetes作为他们自动化运维的容器,不过不管是Kubernetes还是Swarm,他们的起源都是来自于Docker。

Docker 分为两个版本,一个是Docker社区版,一个是Docker企业版,我们这个专栏是通过Docker社区版来进行讲解。

在面试的过程中如果提及Docker,面试官一般会问Docker与Virtual Machines(虚拟机)有什么区别。Docker的目标正是为了轻量级的操作系统虚拟化解决方案,如下图:

virtualization

docker

图一传统虚拟机的系统架构图,其中Host OS代表宿主机的操作系统,而Guest OS代表虚拟机的操作系统,他们通过Hypervisor来共享计算机硬件。

大家有没有发现这么一个问题,虚拟机不只是包含应用程序(应用程序可能仅占用10MB),它还包含了虚拟机的操作系统,虚拟机操作系统可能会占用10GB。

图二是Docker容器化技术,它与图一相比减少了Hypervisor和Guest OS,Docker容器通过Docker Engine来与宿主机共用宿主机操作的系统,这样大大轻量化了虚拟化的成本,让容器更加轻量。

二、Docker安装

1、Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker,通过 uname -r 命令查看你当前的内核版本

    $ uname -r

2、卸载老版本的 docker 及其相关依赖

$ sudo yum remove docker docker-common container-selinux docker-selinux docker-engine //卸载老版本的 docker 及其相关依赖
$ sudo yum remove -y docker-*
$ sudo yum update //更新yum
$ sudo yum install -y yum-utils //安装 yum-utils,它提供了 yum-config-manager,可用来管理yum源
$ sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo //添加yum源
$ sudo yum makecache fast //更新索引

3、可以查看所有仓库中所有docker版本,并选择特定版本安装

    $ yum list docker-ce --showduplicates | sort -r

图示如下: 

3、安装docker-ce

$ sudo yum install docker-ce  #由于repo中默认只开启stable仓库,故这里安装的是最新稳定版18.09.5
$ sudo yum install <FQPN> # 也可以指定安装某个版本,例如:sudo yum install docker-ce-18.09.5

4、加入开机自启动docker

$ sudo systemctl start docker
$ sudo systemctl enable docker

5、启动docker

    $ sudo systemctl start docker

6、验证docker是否安装成功(如果没有hello-world镜像则会去远程仓库下载)

    $ sudo docker run hello-world

 7、配置国内阿里云镜像源, 修改或创建daemon.json文件:vim /etc/docker/daemon.json,将以下配置写入到文件中,保存并退出。

{
 
    "registry-mirrors": ["http://hub-mirror.c.163.com"]
 
}

8、配置远端docker仓库

{ 

    "insecure-registries":["192.168.3.202:8088"], 
    "registry-mirrors": ["http://hub-mirror.c.163.com"]

}

9、重启docker

    $ systemctl restart docker.service

删除所有tag为空的镜像

    $ docker rmi $(docker images | grep "^<none>" | awk "{print $3}") 

删除所有镜像

    $ docker rmi $(docker images | awk "{print $3}") 

然后开启外部访问端口,传送门:

docker开启2375端口

追加环境变量

    $ vim /etc/profile

在文件最后加入以下内容

    export DOCKER_HOST=tcp://127.0.0.1:2375

修改后环境变量,图示如下:

到此docker部署配置完成。 

发布了352 篇原创文章 · 获赞 390 · 访问量 37万+

猜你喜欢

转载自blog.csdn.net/qq_19734597/article/details/86005597