码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2017-05-30 13:18:01      阅读:324      评论:0      收藏:0      [点我收藏+]

标签:日志记录   linux   ip地址   接口   隔离   

  技术分享

  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的安装基本命令配置详解

标签:日志记录   linux   ip地址   接口   隔离   

原文地址:http://kangshuo.blog.51cto.com/11402730/1930641

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!