zoukankan      html  css  js  c++  java
  • 【开发工具 docker】值得学习的应用容器引擎docker安装

    概述:

    Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。

    Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

    容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

    Docker的应用场景

    • Web 应用的自动化打包和发布。
    • 自动化测试和持续集成、发布。
    • 在服务型环境中部署和调整数据库或其他的后台应用。
    • 从头编译或者扩展现有的 OpenShift 或 Cloud Foundry 平台来搭建自己的 PaaS 环境。

    docker能为我们带来什么?

    今天开发应用程序所需要的不仅仅是编写代码。在每个生命周期阶段,工具之间的多种语言,框架,体系结构以及不连续的接口都会带来极大的复杂性。Docker简化并加速了您的工作流程,同时使开发人员可以自由选择每个项目的工具,应用程序堆栈和部署环境进行创新。

    不论是Windows还是Linux的Docker容器均受Docker工具和API支持,可帮助您构建更好的软件:

    • 更快地上板,并避免浪费时间尝试建立开发环境,启动新实例并制作生产代码副本以在本地运行。
    • 启用多语言开发并使用任何语言,堆栈或工具,而无需担心应用程序冲突。
    • 通过将应用程序,配置和依赖项打包到一个隔离的容器中,消除了环境不一致和“在我的机器上工作”的问题。
    • 减轻对应用程序安全性的担忧

    @

    壹:docker安装

    docker的安装其实非常简单,只需要下载他的安装包就能使用,但对于windows家庭版就不那么友好了,由于不支持Hyper-V,windows家庭版有两个选择:1、使用 docker toolbox来安装,非常简单,直接点下一步直到完成即可。本着不折腾不程序员的原则,显然我是会选择第二种。这才有了这篇教程。

    如果你是windows专业版,企业版或教育版,请跳过第一步以及第三步。

    一:使用docker toolbox安装

    传送门
    过程很简单,选择相应版本安装即可,反正我也没试过,略略略。

    二:非docker toolbox安装

    1、开启Hyper-V

    新建.cmd文件,是用管理员身份运行,运行后重启电脑。

    pushd "%~dp0"
    
    dir /b %SystemRoot%servicingPackages*Hyper-V*.mum >hyper-v.txt
    
    for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%servicingPackages\%%i"
    
    del hyper-v.txt
    
    Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL
    

    2、打开Hyper-V功能

    打开你的控制面板,找到如下,勾选上Hyper-V功能功能模块。

    3、伪装成专业版

    打开注册表,找到HKEY_LOCAL_MACHINEsoftwareMicrosoftWindows NTCurrentVersion,点击CurrentVersion,在右侧找到EditionID,右键点击EditionID选择“修改“,在弹出的对话框中将第二项”数值数据“的内容改为Professional。

    这里请注意,请不要改你注册表里的其他东西,很有可能会造成系统崩溃,改了这个没关系,只是骗骗系统,并且,它的值会在你下一次重启时修改回来,也不会影响你使用docker。

    4、安装docker

    安装地址:传送门
    点击get docker,即可下载,下载完成后直接安装即可。

    贰:安装kitematic

    Kitematic是一个 Docker GUI 工具,它可以更快速、更简单的运行Docker容器,虽然说我们安装的docker有简单的图形可视化,但Kitematic使用起来使一切变得更加的方便。

    当然,你也可以选择不安装这个软件,使用起来也是没问题的。

    1、下载软件

    传送门

    2、安装

    他的安装很简单,你只需要把他解压到docker安装目录的同级目录即可。

    叁:配置docker

    docker其实不需要配置什么,唯一需要配置的就是他的镜像源和他的环境变量,因为它默认使用国外的镜像源,下载起来非常的慢,所以我们只需要配置国内的镜像源就可以愉快的玩耍了。

    1、环境变量:在他安装的时候就自动配置好了,如果没有配置,就把他的C:Program FilesDockerDocker esourcesinC:ProgramDataDockerDesktopversion-bin配置到path下即可,路径根据自己的来。

    2、配置镜像源:打开docker,看到如下,输入registry-mirrors的参数,你可以选择其一:

    肆:docker初体验

    一:创建容器方法一

    以安装rabbitmq为例,如果你要安装任何的镜像,可以到docker的官方仓库搜索:传送门

    • 1、搜索镜像
      使用仓库,搜索到的结果,Description一般会描述这个镜像,并且告诉你怎么启动它,tags就是这个软件所有版本的镜像,你只要找到你需要的版本就行了,右边的命令就是你下载镜像的命令,你只需要在命令行中输入即可。


    除此之外你可以使用命令行搜索,命令:docker search rabbitmq,其中official就是标志是否为官方版本,推荐使用官方的版本。

    • 2、下载:
      我需要的是rabbitmq:3.7-management-alpine,所以我的命令是:
    docker pull rabbitmq:3.7-management-alpine
    
    • 3、启动
      启动之前,使用docker images查看abbitmq的images id
    docker run -d -p 5672:5672 -p 15672:15672  --name rabbitmq {上面查看的images id}
    
    -p为端口映射,容器端口映射到主机端口
    -name为你的容器名称
    -d为后台运行
    
    • 4、查看启动
    docker ps
    
    • 5、相关命令:
    1、查看所有镜像
    docker images
    2、查看正在运行的容器
    docker ps
    3、查看所有容器
    docker ps -a 
    4、运行已存在的容器
    docker start {id} 
    5、停止已存在的容器
    docker stop {id} 
    6、删除容器 (必须先停止容器)
    docker rm {容器id}  
    7、删除镜像
    docker rmi {镜像id} 
    8、进入容器,推荐使用
    docker exec -it {容器id} /bin/bash 
    9、进入容器
    docker attach {容器id}
    10、查看容器ip:
    docker inspect --format='{{.Name}} - {{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)
    

    注:进入容器的后一种相对于前一种有着明显的缺陷:当多个窗口同时使用该命令进入该容器时,所有的窗口都会同步显示。如果有一个窗口阻塞了,那么其他窗口也无法再进行操作。

    二:创建容器方法二

    第二种方法就是使用kitematic来安装,使用kitematic安装变得非常简单,kitematic官方文档:传送门
    打开软件,搜索相关镜像点击create即可。

    除了安装容器之外,我们可以使用他来管理我们的容器例如停止、重启、进入容器等操作以及容器相关的一些设置等,并且,你可以在这里看到你的容器的日志。

    作者有话

    对我而言,作为学生,docker给我带来的最大的感受就是方便、快捷,节省了我电脑资源的开销以及跨平台可移植性,这无疑就是与dcoker采用的虚拟技术有关,以前安装一个应用需要去找安装包,安装、配置环境等等一系列操作,并且这个软件不管你是否用不用,都会占用你的一部分内存,自从我用了docker之后,所有的操作变得非常简单,简单到我只用cmd的几行命令就能轻松的使用。

    至于他的平台可移植性,你在windows上的使用过的所有镜像、容器以及数据,他都能移植到linux等其他平台上,在重装系统后,相信大部分人都要安装自己所需要的软件、库等,而我只需要将docker的镜像复制过来,那么我又能拥有之前的数据了,并且,docker还提供了免费的仓库,供你去使用,你可以把自己的镜像、容器上传到你自己的仓库,等你使用的时候再去下载就可以使用了。

    并且,在我使用的几个开发软件上都提供了docker的接口,你只需要简单的配置,就可以是你的开发工具连接到你的docker容器。

    总的来说,docker绝对是值得学习的。

  • 相关阅读:
    HDU Problem 1811 Rank of Tetris【拓扑排序+并查集】
    POJ Problem 2367 Genealogical tree【拓扑排序】
    HDU Problem 2647 Reward【拓扑排序】
    HDU Problem 1285 确定比赛名次【拓扑排序】
    HDU Problem HDU Today 【最短路】
    HDU Problem 3665 Seaside【最短路】
    HDU Problem 一个人的旅行 【最短路dijkstra】
    HDU Problem 1596 find the safest road【最短路dijkstra】
    Beyond Compare文本合并进行内容替换要注意什么
    用这些工具都可以比较代码的差异
  • 原文地址:https://www.cnblogs.com/lomtom/p/12558323.html
Copyright © 2011-2022 走看看