本文来自网易云社区

本人DBA一枚,但因为工作的关系,接手的机器越来越多,要部署的东西也从MySQL扩展到其他千奇百怪的各种应用服务,因此需要使用自动化部署的场景也越来越多。早就听运维部的其他大大们说过Docker可以方便的打包镜像、自动化部署,但是最近才抽出时间来学习下。这篇文章就以一个docker小白的身份,介绍下Docker是什么,可以做什么,以及使用入门ABC。

1. Docker是什么
        a) Docker 可以理解成一个超轻量级的虚拟机,专业的说法叫应用容器,它是在LCX(linux容器)基础上进行的封装。

        b) Docker和传统虚拟化方式的不同之处在于容器是在操作系统层面上实现虚拟化,直接复用本地主机的操作系统,而传统方式则是在硬件层面实现。
        c) 相较于传统的VM虚拟化方法,Docker的好处是启动速度快,资源利用率高,性能开销小。

        
2. Docker可以用来干什么
        a)简化部署,优化运维管理方案
           这是Docker最吸引我的一点,是我学习Docker的动力= =。现在互联网服务的架构日趋复杂,不同程序模块依赖的环境千奇百怪,使用的机器也越来越多,导致部署一套环境成本越来越高,而且还不便于管理和迁移。由于Docker是在操作系统级别的封装,因此可以把不同的程序分别打包成镜像,管理只需要管理这些镜像即可,上线时直接把image批量部署到线上多台服务器上,岂不美哉。
        b)优化资源使用
           现在物理机性能普遍比较强悍,虚拟化是一种很好的隔离方案,但是Docker又是在KVM、Xen和完全不虚拟化之间的一种折中。
3. Docker使用入门
          使用dcoker其实很简单,只要理解和会用三个东东就可以了:镜像(Image)容器(Container)仓库(Repository)
a)镜像:
    Docker 镜像就是一个只读的模板。一个镜像可以包含一个完整的操作系统环境,里面仅安装了 Apache或用户需要的其它应用程序。镜像可以用来创建Docker容器。Docker提供了一个很简单的机制来创建镜像或者更新现有的镜像,用户甚至可以直接从其他人那里下载一个已经做好的镜像来直接使用。
1. 安装docker
apt-get install docker
2. 启动docker
sudo service docker start
3. 下载镜像
搜索镜像:docker search
下载镜像:docker pull
查看本地镜像:docker images
b)  容器
        Docker 利用容器来运行应用。容器是从镜像创建的运行实例。它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。可以把容器看做是一个简易版的 Linux环境(包括root用户权限、进程空间、用户空间和网络空间等)和运行在其中的应用程序。
4.创建容器
docker run -t -i rangalo/debian /bin/bash
其中,-t选项让Docker分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上,-i则让容器的标准输入保持打开。更多的时候,需要让Docker容器在后台以守护态(Daemonized)形式运行。此时,可以通过添加-d参数来实现。
 
5.查看容器
docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
36a125947dec rangalo/debian:latest "/bin/bash" 7 minutes ago Exited (130) 4 minutes ago elegant_babbage
 
6停起容器
docker start 36a125947dec
 
7.本地登陆容器
sudo docker attach 36a125947dec
c) 仓库
       仓库是集中存放镜像文件的场所。有时候会把仓库和仓库注册服务器(Registry)混为一谈,并不严格区分。实际上,仓库注册服务器上往往存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的标签(tag)。仓库分为公开仓库(Public)和私有仓库(Private)两种形式。最大的公开仓库是Docker Hub,存放了数量庞大的镜像供用户下载。当然,用户也可以在本地网络内创建一个私有仓库。
       当用户创建了自己的镜像之后就可以使用push 命令将它上传到公有或者私有仓库,这样下次在另外一台机器上使用这个镜像时候,只需要从仓库上pull下来就可以了。
写在最后:
        本文只是一篇入门小品,Docker当然不只是这么点东西,还有数据管理、网络配置一堆东西可以玩。当然最重要的是要能用在实际的生产环境上,目前线上用这个东东的经验还不是很多,等以后线上踩过几回坑后再和大家来分享 ^ ^
 
 
 
最后还是盛情邀请大家来试用一下网易云计算基础服务,感受下docker容器服务的乐趣, 点击可免费试用
 
 

本文来自网易云社区,经作者潘威
授权发布。

原文:Docker小白使用笔记

网易云新用户大礼包:https://www.163yun.com/gift

Docker小白使用笔记的更多相关文章

  1. Docker小白到实战之容器数据卷,整理的明明白白

    前言 上一篇把常用命令演示了一遍,其中也提到容器的隔离性,默认情况下,容器内应用产生的数据都是由容器本身独有,如果容器被删除,对应的数据文件就会跟着消失.从隔离性的角度来看,数据就应该和容器共存亡:但 ...

  2. Docker小白到实战之Dockerfile解析及实战演示,果然顺手

    前言 使用第三方镜像肯定不是学习Docker的最终目的,最想要的还是自己构建镜像:将自己的程序.文件.环境等构建成自己想要的应用镜像,方便后续部署.启动和维护:而Dockerfile就是专门做这个事的 ...

  3. Docker小白到实战之Docker网络简单了解一下

    前言 现在对于Docker容器的隔离性都有所了解了,但对容器IP地址的分配.容器间的访问等还是有点小疑问,如果容器的IP由于新启动导致变动,那又怎么才能保证原有业务不会被影响,这就和网络有挂钩了,接下 ...

  4. Docker Stack 学习笔记

    该文为<深入浅出Docker>的学习笔记,感谢查看,如有错误,欢迎指正 一.简介 Docker Stack 是为了解决大规模场景下的多服务部署和管理,提供了期望状态,滚动升级,简单易用,扩 ...

  5. Docker 简单使用笔记

    Docker笔记 安装   首先检查是否已经安装过Docker:yum list installed | grep docker,如果已经安装过需要删除旧的Docker:yum remove dock ...

  6. Docker&K8S学习笔记(一)—— Docker安装

    最近一年在工作上经常使用Docker与K8S,除了利用其打镜像,部署服务外,还基于Docker与K8S开发了一套CICD流水线平台,为了加深相关知识点的理解,所以从今天开始会定期更新学习笔记,本套学习 ...

  7. docker入门-学习笔记

    docker可以类比成window下的VMware或者virtualbox软件.docker有两个基本的概念:容器(container)和镜像(image),分别对应为VMware中的系统镜像和系统镜 ...

  8. Docker compose学习笔记

    一.compose compose 作用 你的应用可能需要很多个服务,比如web服务,数据库服务,缓存服务等等.我们可以把这些服务放到单独的容器里面,如果手工去配置这些服务会有些麻烦,docker c ...

  9. [Docker] docker 基础学习笔记6(共6篇)

    这个迁移指的是docker整个系统的迁移,而不是说images存储位置迁移 docker info 查看docker的各项配置   首先做文件的迁移 使用rsync软件将docker的文件夹整体迁移到 ...

随机推荐

  1. Html 表单表格 form table

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  2. hdu 2044 一只小蜜蜂...(简单dp)

    一只小蜜蜂... Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Su ...

  3. Java微信开发_03_使用测试号进行开发

    今天进行自定义菜单的开发时,发现公众号没有自定义菜单的权限.于是想到用测试号,但微信服务器如何区分你要请求的是公众号还是测试号呢. 我们可以发现不同公众号的appID和appsecre是不同的,一对a ...

  4. Xposed模块开发学习记录

    Xposed模块相关API可以参考在线文档: https://api.xposed.info/reference/packages.html     入门教程可以参考: https://github. ...

  5. Simple Rtmp Server的安装与简单使用

    Simple Rtmp Server是一个国人编写的开源的RTMP/HLS流媒体服务器. 功能与nginx-rtmp-module类似, 可以实现rtmp/hls的分发. 有关nginx-rtmp-m ...

  6. Django_form补充

    问题1:  注册页面输入为空,报错:keyError:找不到password def clean(self): print("---",self.cleaned_data)     ...

  7. 功能强大的Northwoods GoDiagram控件库

    Northwoods GoDiagram控件库用于开发图形应用 Northwoods GoDiagram控件库是付费软件,其官方网址为http://www.nwoods.com/ Northwoods ...

  8. 上海-北京间通过Azure Storage的RA-GRS类型的存储账户进行快速复制

    Azure的Blob存储分成多种类型,目前主要有: 其中RA-GRS可以在上海-北京两个数据中心间同步数据.并且,在第二个数据中心可以只读的方式读取这个存储账户中的Blob内容. 虽然GRS采用的是准 ...

  9. hdu 5616 Jam's balance 正反背包+转换

    http://acm.hdu.edu.cn/showproblem.php?pid=5616 思路 题目中蕴含着两种需要计算的重量 1. 从所有的砝码中挑出任意种2.(转换的思想)在天平的两端都挑出这 ...

  10. 2 ubuntu 16.04 安装Elastic Stack

    一: 安装JAVA8          添加ppa sudo add-apt-repository ppa:webupd8team/java sudo apt-get update 安装oracle- ...