docker初体验

什么是docker

你到市场上买了一堆菜和肉:咸鱼,鸡蛋,青菜,萝卜,熟食,水果等。这些菜都要装在一个冰箱里,不同的菜保质期不一样,味道也不一样,如果你将咸鱼和水果放在一起,水果就成了黑暗料理了。如果将鸡蛋随便丢,那很可能只要一开冰箱找食材,就会碰碎几个鸡蛋。聪明如你,肯定会将这些食材分门别类用不同的容器隔离存放。让一切都井然有序。

类似的,如果我们想在一台电脑上搭建各种开发环境:lnmp环境,java环境,nodejs,redis集群,python开发环境。显然,这些多的开发环境,如果集中在一台机器上构建,会让系统显得复杂,可能还会出现各种版本或依赖之间的不兼容。如果能将这些开发环境都独立开来,各个环境互相独立隔离,但又能互相通讯交互,相当于每个环境都是一个容器,这些容器可以独立提供服务,也能通信交互。

docker就是这样的容器技术。

用官方术语描述docker: Docker是基于Go语言实现的开源容器项目,有效地将由单个操作系统管理的资源划分到孤立的组中,以更好地在孤立的组之间平衡有冲突的资源使用需求。

通俗地理解:docker能让你在一台物理机上构建出很多个轻量极的开发环境。

为什么要用docker

传统的虚拟机也能实现环境的隔离,但虚拟机过于笨重,启动也慢,消耗的资源多。如果一台普通的个人电脑同时运行5个虚拟机实例,估计内存和CPU就扛不住了。

而docker不一样,docker很轻量级,对系统资源的需求很少。

  • docker容器的启动和停止可以在秒级实现,个人普通电脑同时运行上百个docker容器也没问题(在IBM服务器上可以同时实现运行10k量级的容器实例)
  • docker通过类似Git设计理念的操作来方便用户获取、分发和更新应用镜像。用户可以很方便地获取全球开发者共享的镜像
  • 通过Dockfile支持灵活的自动化创建和部署机器,使流程标准化,很方便移植

如何在win10安装docker

docker最初只支持在linux上使用,现在已经能很好地支持win10,如果你是windows用户,强烈建议你用win10系统,win7和win8虽然也能运行docker,但还需要安装虚拟机,实现方式很笨重。win10是在操作系统底层就支持了docker。

安装docker的流程很简单:

到docker官网下载win10版本的安装包

docker下载地址

下载docker.png

安装很简单,一路下一步即可,中间可能会重启几次电脑,如果360之类的杀毒软件报错,要么信任这个安装程序,要么将杀毒软件关了。

docker需要操作系统开启虚拟化功能,在安装过程中会检测并自动开启

在任务管理中可看到是否有开启虚拟化功能:

虚拟化.png

安装完成后,可看到任务图标有个鲸鱼的图标,就是docker了

更换docker安装源

默认的docker安装源很慢,建议换成国内源,以阿里云的源为例:

阿里云docker镜像加速器

需要先注册阿里云账号

阿里云加速

在docker的设置中换上阿里云加速镜像

设置镜像加速.png

第一个docker镜像

打开win10的powershell

输入docker可看到docker的相关信息

docker

查看版本信息

PS C:\Users\34344> docker --version
Docker version 17.12.0-ce, build c97c6d6

用docker输出hello world

PS C:\Users\34344> docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
ca4f61b1923c: Pull complete
Digest: sha256:66ef312bbac49c39a89aa9bcc3cb4f3c9e7de3788c944158df3ee0176d32b751
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://cloud.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/engine/userguide/

以上指令表示你从docker镜像拉到了一个名为'hello world'镜像并执行成功。到此表示你的docker已经安装成功且正常执行

关于什么是docker的镜像,以及如何用docker在windows搭建完美的linux开发环境,请关注我的后续更新

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏编程坑太多

『中级篇』 Docker Bridge详解(26)

933
来自专栏JadePeng的技术博客

google gcr.io、k8s.gcr.io 国内镜像

https://github.com/anjia0532/gcr.io_mirror

3483
来自专栏老付的网络博客

docker 入门与安装

Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括...

531
来自专栏一个会写诗的程序员的博客

十分钟带你理解Kubernetes核心概念

本文将会简单介绍Kubernetes的核心概念。因为这些定义可以在Kubernetes的文档中找到,所以文章也会避免用大段的枯燥的文字介绍。相反,我们会使用一些...

803
来自专栏北京马哥教育

把docker镜像当作桌面系统来用

博主一直都很喜欢思考怎样管理装在自己电脑上的桌面系统,这篇算是前作能当主力,能入虚拟机,还能随时打包带走,Linux就是这么强大的后续探索吧。

900
来自专栏魏艾斯博客www.vpsss.net

如何下载安装使用 SSH 软件

1725
来自专栏云计算D1net

使用Docker时应该避免这10 件事…

容器可以解决很多问题,并且具有诸多优势,当你投身其中时便会发现其奥妙所在。 第一:容器是不可变的 - 操作系统,库版本,配置,文件夹和应用程序都包装在容器内。 ...

3397
来自专栏从零学习云计算

kubernetes学习记录(1)——kubernetes初理解

入门时,学习阅读的为《你闺女也能看懂的插画版Kubernetes指南》。由Deis的平台架构师Matt Butcher向他女儿介绍什么是Kubernetes,内...

3750
来自专栏CSDN技术头条

Docker数据容器保护方式利弊

Docker是一个非常成功的Linux开源项目。它在Linux操作系统下无需增加管理器即可虚拟化应用程序。该应用程序常被抽象地误认为是操作系统(具有Linux内...

2137
来自专栏程序你好

从 Docker 的新手村出发?那么你需要这11条守则

852

扫码关注云+社区