Docker对于部署来说及其重要

目前的IT环境发生了很大的变化,有big server到vm server到docker,一步步的敏捷快速,更加合理的利用硬件资源,分离不同环境带来的问题,简化部署。

2016过年的这几天就自学了一下docker,以及在工作中如何实践这一技术提升IT管理效能。

学习的步骤分为5步:

  1. 了解docker与传统方式的差异。3小时
  2. 亲手部署一边docker+asp.net。5小时
  3. install ubuntu
  4. update docker host
  5. install docker client
  6. download ASP.NET 5 Preview Docker Image form https://hub.docker.com/r/microsoft/aspnet/
  7. play
  8. 思考如何与实际的项目结合。12小时
  9. 在项目中实践docker。20小时
  10. 总结与团队分享,录视频放到群里。1小时

     

    docker相比过去的vm创建、启动、关闭速度更快。dockerhub上有丰富的标准资源开箱即用。更加容易从开发到测试到生产环境的迁移、回滚。每个容器都是沙箱一样相互隔离互不影响。

    目前docker只能运行在liunx下,也就说只能支持asp.net core版本,这个对于现在的项目是一个巨大的挑战,因为我当时选择用asp.net webform来搭建现有的项目,这个问题要如何解决,如何转换成mvc项目,有没有可能直接改为asp.net core版的支持跨平台运行?工作量又多大?

    横向扩展非常屌,通过命令来循环复制N个container,几分钟就搞定了。

    container指运行中的,image指非运行中的,每个历史记录都可以是一个Image。一个image可以运行为多个container;可以通过端口映射形式进行通信。

     

    访问的过程有点麻烦:windows docker client -> ubuntu(vmware)->docker host->docker container。过程中还需要去docker hub上拉一个imager下来。需要将docker container的端口映射到docker host的主机端口上,然后再由windows(UA)访问。

     

    sudo -i

    输入密码

    root@linuxidc:~# gedit /etc/apt/sources.list
    把下面的安装源写入

    deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse

     

    然后更新apt-get

    root@linuxidc:~#apt-get update

    root@linuxidc:~#apt-get install docker.io

    root@linuxidc:~# service docker restart

     

    git clone https://github.com/aspnet/Home.git aspnet-home

    cd aspnet-home/samples/1.0.0-rc1-update1/HelloWeb

    docker build -t myapp .

    docker images

    docker run -t -d -p 80:5004 myapp

    docker ps

     

    firefox localhost

posted @ 2016-02-07 18:44  WinsonXu  阅读(365)  评论(0编辑  收藏  举报