设为首页 收藏本站
查看: 858|回复: 0

[经验分享] Docker的安装基本命令配置详解

[复制链接]

尚未签到

发表于 2018-5-28 06:12:41 | 显示全部楼层 |阅读模式
DSC0000.jpg

  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(一般新安装的内核在第一个位置),重启系统,这时你的内核就成功升级了。
  

DSC0001.jpg

  查看内核是否支持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:
        DSC0002.jpg
    Docker软件包已经包括在默认的CentOS-Extras软件源里。因此想要安装Docker,只需要运行下面的命令:
      DSC0003.jpg
  安装完成后,使用下面的命令来启动Docker服务,并将其设置为开机自启动:
DSC0004.jpg

  查看Docker版本信息:
DSC0005.jpg

  查看Docker版本详细信息:
   DSC0006.jpg
  以上是使用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
   DSC0007.jpg
  docker默认使用的是unix  socket
DSC0008.jpg

  

  或者是直接安装官方提供好的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版:

  •   Docker Engine 支持配置热更新,容器与 Docker Daemon 的耦合性大大降低
  •   Docker API 的完善程度稳步上升,容器隔离维度更细致、更全面
  •   Docker 安全划时代地支持了 User Namespace 与 seccomp,安全程度直逼虚拟机
  •   镜像格式首推「内容寻址方式」,可以做到 Docker 镜像的全球唯一性,镜像的安全与存储都有大的改观
  •   网络能力,无论单机,还是跨主机,功能逐渐完善,成熟度稳步提升,发展之迅速不得不令人佩服
  •   稍显惋惜的是,传统的容器管理工具 LXC 即将退出 Docker 的舞台,伴随 Docker 接近三年的时间,终于被更完善的容器管理方案取代,同时 Docker 的飞速发展以及追求卓越也一览无余
看完 Docker 1.10.0 的主要变化,我们来看一下这一版本更为细节的变化,相信 Docker Engine、安全、Distribution、网络、日志、存储卷 Volume 等多方面,总有一款适合您。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-481903-1-1.html 上篇帖子: Docker下搭建mysql数据库 下篇帖子: Docker images详细介绍及管理制作镜像
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表