Docker的安装基本命令配置详解

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker的安装基本命令配置详解相关的知识,希望对你有一定的参考价值。

  技术分享

  Docker 官网:https://docs.docker.com 


  •     Docker值得关注的特性:

  •         文件系统隔离:每个进程容器运行在一个完全独立的根文件系统里。

  •         资源隔离:系统资源,像CPU和内存等可以分配到不同的容器中,使用Cgroup。

  •         网络隔离:每个进程容器运行在自己的网络空间,虚拟接口和IP地址。

            日志记录:Docker将会收集和记录每个进程容器的标准流(stdout/stderr/stdin),用于实时检索或批量检索。

             变更管理:容器文件系统,变更可以提交到新的映像中,并可重复使用以创建更多的容器。无需使用模板或手动配置。

             交互式shell:Docker可以分配一个虚拟终端并联关联到任何容器的标准输入上,CentOS系列安装Docker,Docker支持CentOS6及以后的版本。


一、Docker的安装

   

1.CentOS6:

     在CentOS6.5下安装Docker。

   注意:要求Linux kernel至少3.8以上,并且docker只能运行在64位操作系统。

由于CentOS6.5的内核版本为2.6,因此必须要先升级内核。

    

    (1.)yum安装带aufs模块的3.10内核


           #cd /etc/yum.repos.d

           #wget http://www.hop5.in/yum/el6/hop5.repo

           #yum install kernel-ml-aufs kernel-ml-aufs-devel 


      (2.)修改grub的主配置文件/etc/grub.conf,设置default=0,表示第一个title下的内容为默认启动的kernel(一般新安装的内核在第一个位置),重启系统,这时你的内核就成功升级了。 


         技术分享

      查看内核是否支持aufs:

           # grep  aufs /proc/filesystems

              nodev   aufs

      对于CentOS6,可以使用EPEL库安装Docker,命令如下

          #yum install httpd://mirros.yun-idc.com/epel/6/i386/epel-release-6-8.norach.rpm

          #yum install docker-io

      启动Docker服务

               #service docker start

 2.CentOS7:

   Version:

     技术分享

  Docker软件包已经包括在默认的CentOS-Extras软件源里。因此想要安装Docker,只需要运行下面的命令:

   技术分享

安装完成后,使用下面的命令来启动Docker服务,并将其设置为开机自启动:

技术分享

查看Docker版本信息:

   技术分享

查看Docker版本详细信息:

技术分享

以上是使用CentOS7软件源提供的docker安装程序


附:也可以按照官方文档安装Docker


   1.Log into your machine as a user with sudo or  root  privileges。

登录到你的机器作为一个用户用sudo或root权限

   2.Make sure your existing yum packages are up-to-date。

确保您现有的软件包是最新的

   3.Add the yum repo。

添加一个yum源

         $ sudo tee /etc/yum.repos.d/docker.repo<<-‘EOF‘

          [dockerrepo]

          name=DockerRepositorybaseurl=https://yum.dockerproject.org/repo/main/centos/7/

          enabled=1

          gpgcheck=1

          gpgkey=https://yum.dockerproject.org/gpg

         EOF

注意:如果我们既想把输出结果保存到文件中,又想在屏幕上看到输出内容,就可以使用tee命令了。tee命令读取标准输入,把这些内容同时输出到标准输出和(多个)文件中。

   4.install the Docker package

安装Docker软件包

  $ sudo yum install docker-engine

用yum安装Docker软件

   5.Start the Docker daemon.

开启docker进程

  $ sudo service docker start

启动docker服务

   6. Verify docker is installed correctly by running a test image in a container.

  运行一个容器验证是否安装正确


 验证docker 安装正确

  $ sudo docker run hello-world

技术分享

docker默认使用的是unix  socket

技术分享


或者是直接安装官方提供好的docker软件包


docker的版本介绍:


docker 1.12:是今年docker迄今发布的最为重要的一个版本,它大大增强了docker的内置编排机制。在一直被诟病的集群的构成方面也交出了自己的答卷。虽然增加的功能让你在使用的时候有一种在使用kubernetes的感觉,但这个世界不就是这样么,你有的我也有,我有的是原生态。

docker1.11:daemon模块核心的结构体是Daemon,同v1.10.0相比增加了containerd和defaultIsolation两个变量,删除了execDriver变量。

ontainerd这个变量替换了execDriver变量,因为从1.10版本,docker已经完全放弃了对LXC容器的支持,把没有用的代码都删除掉了;defaultIsolation这个变量作用是在windows操作系统上设置容器默认隔离模式,用来更好的对windows操作系统上容器提供支持。

Docker1.11版本依赖于containerd和runC来管理容器,containerd是控制runC的后台程序,runC是Docker公司按照OCI标准规范编写的一个操作容器的命令行工具,containerd这个后台程序还可以操作满足OCI标准规范的其他容器工具,也就意味着以后只要是按照ODI标准规范开发的容器工具,都可以被containerd使用起来。使用containerd好处是,当docker daemon或者containerd两个进程crash后,应用容器不会“死掉”,未来要是实现的功能是,当containerd daemon重新启动后可以同应用容器重新建立连接。

相比1.10增加了EnableIPv6变量、Internal变量和Labels三个变量,EnableIPv6变量表示是否启用了IPv6,在创建网络时,通过POST /networks/create可以设置,Internal变量表示网络是否内部网络,Labels变量表示创建时的网络标签。

在1.11版本中Remote API相关功能变化如下:

在创建容器时,相比1.10增加了一个功能,如果linux内核版本超过了4.3,容器就支持pids cgroup,也就是可以根据cgroup限制容器中的进程数;还增加了nocopy选项,docker run -v foo:/bar:nocopy,这样就不会自动将数据从容器路径拷贝到卷路径;还修改CreateDaemonEnvironment方法,如果创建容器时使用到了Hostname变量和Domainname变量,那么在设置容器中HOSTNAME环境变量时设置的是Hostname变量,在v1.10.0中设置的是Hostname.Domainname。

Docker 1.12.3 发布了,Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app)。几乎没有性能开销,可以很容易地在机器和数据中

 docker1.10版:

  1. Docker Engine 支持配置热更新,容器与 Docker Daemon 的耦合性大大降低

  2. Docker API 的完善程度稳步上升,容器隔离维度更细致、更全面

  3. Docker 安全划时代地支持了 User Namespace 与 seccomp,安全程度直逼虚拟机

  4. 镜像格式首推「内容寻址方式」,可以做到 Docker 镜像的全球唯一性,镜像的安全与存储都有大的改观

  5. 网络能力,无论单机,还是跨主机,功能逐渐完善,成熟度稳步提升,发展之迅速不得不令人佩服

  6. 稍显惋惜的是,传统的容器管理工具 LXC 即将退出 Docker 的舞台,伴随 Docker 接近三年的时间,终于被更完善的容器管理方案取代,同时 Docker 的飞速发展以及追求卓越也一览无余

看完 Docker 1.10.0 的主要变化,我们来看一下这一版本更为细节的变化,相信 Docker Engine、安全、Distribution、网络、日志、存储卷 Volume 等多方面,总有一款适合您。



本文出自 “KANGSHUO” 博客,转载请与作者联系!

以上是关于Docker的安装基本命令配置详解的主要内容,如果未能解决你的问题,请参考以下文章

docker的基本安装和命令详解

Docker-基础使用:安装,启用,基本命令,数据卷

Docker-基本命令

43_Docker概述部署DockerDocker镜像Docker基本命令

五十三.Docker概述部署DockerDocker镜像Docker基本命令

Docker基本使用命令