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绝对是值得学习的。

  • 相关阅读:
    C#递归读取GIS目录文件格式
    ArcGIS Pro 2.5离线安装方案
    ASP.NET跨域解决方法
    C# GDAL编码问题3——读取中文图层
    C# GDAL编码问题2——读取中文属性
    C# GDAL编码问题1——打开mdb中文路径
    Word标题编号变黑框
    SVN设置全局忽略样式
    DevExpress中DockPanel样式修改
    解决XML根级别上的数据无效
  • 原文地址:https://www.cnblogs.com/lomtom/p/12558323.html
Copyright © 2011-2022 走看看