返回顶部
首页 > 资讯 > 精选 >Docker基础入门以及示例分析
  • 658
分享到

Docker基础入门以及示例分析

2023-06-19 10:06:33 658人浏览 安东尼
摘要

这篇文章将为大家详细讲解有关Docker基础入门以及示例分析,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一. docker基础介绍  可能很多朋友对docker还停留在听说过,并没有认真关

这篇文章将为大家详细讲解有关Docker基础入门以及示例分析,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

一. docker基础介绍

  可能很多朋友对docker还停留在听说过,并没有认真关注了解过,这里简单介绍下其基础部分知识。如有不足,欢迎指正!

  1. docker介绍

  很多同学有一个先入为主的概念,docker是一个轻量级容器。所以这里先普及一下,docker本身并不是一个容器,而是一个管理容器的引擎工具。它包含一个服务端和客户端,服务端是一个管理着所有容器和文件系统的服务进程,客户端则是一个服务端的控制器,用来控制docker的服务端进程。至于容器,主要指的是包含了一些特定应用的运行实例,既保证了当前应用的运行环境独立,又能保证容器相互之间的独立。

  一款产品从开发到上线,从操作系统,到运行环境,再到应用配置。作为开发者,我们需要关心很多东西,这也是很多互联网公司都不得不面对的问题,特别是各种版本的迭代之后,不同版本环境的兼容,对运维人员都是考验。Docker之所以发展如此迅速,也是因为它对此给出了一个标准化的解决方案。

  Docker提供了一套虚拟化和文件系统的支持,可以让专业人员自由组装需要的运行环境到容器中,并提供容器运行时的隔离。就像一个大型油轮,承载着一个个集装箱,每个集装箱我们可以理解为我们的容器,这个容器中的内容完全由组装人员自定义。

  2. docker基础概念

  docker本身是一个容器运行载体,一个容器的运行,需要正确的理解仓储,镜像,和容器这几个概念。 如上介绍,容器一个运行实例,那么当前实例是如何部署的,就明白的镜像的意义了。镜像就是一个已经打包好的可交付的运行环境,当我们需要的时候,就可以通过docker客户端创建一个对应的运行实例,也就是我们的容器。至于仓储,就是放了一堆镜像的地方,我们可以把镜像发布到仓储中,需要的时候从仓储中拉下来就可以了。

  3. docker基础使用

  以WEB应为为例,我们开发完成之后,将应用打包成镜像,发布到自己的仓储服务器或者直接上传到服务器中,服务器拉取或者加载镜像,设置对应的端口映射并启动容器。如果我们存在多个web容器,也可以通过negix在前方负载代理。在后边我会通过一个.net core站点做一个简单的示例。当然也有很多持续集成方案,比如代码提交之后自动生成镜像,部署,这里就先不做介绍了。

二. docker在windows下的安装和配置

  这里我介绍下在windows中安装Docker以及相关的配置信息。当前Docker for Windows会默认包含两个引擎containers(linux和windows)

  1. 下载Docker for Windows,https://docs.docker.com/docker-for-windows/install/#download-docker-for-windows

  2.  查看下是否开启了Hyper-V功能,如果没有可以在“启用或关闭windows功能” 中添加Hyper-V 功能,当然你也可以不用关心,docker安装过程中也会检查,如果没有则默认添加启动,不过可以趁着等待下载docker的时间直接把这步做了,安装Hyper-V之后可能需要重启系统。

  3.  安装完成之后,你可以查看Hyper-V管理器,如果安装正常,会如下默认创建一个linux虚拟机

Docker基础入门以及示例分析

我们也可以通过Powershell查看Docker版本:

Docker基础入门以及示例分析

  安装成功之后我们就可以对其进行相应的设置

  1. 右击小鲸鱼图标(这里我直接找的网上的图),点击Settings

 Docker基础入门以及示例分析

  2. 设置界面如下,其中Shared Drives 可以设置我们的对应映射驱动盘,保证C盘选中,再选中你应用所在盘符。Advanced选项中你可以设置docker对应的CPU,内存占用资源。NetWord主要是当前的Docker IP信息。Proxies可以设置对应的代理信息。Daemon 主要是设置对应的仓储和对应的仓储镜像站点(和docker镜像区分开,这个是仓储对应的镜像,因为访问国外站点过慢,可以设置国内的镜像代理站点)。

Docker基础入门以及示例分析

 这里特别强调一下,因为访问Docker官网仓储站点拉取镜像过慢,请自行购买VPN服务,或者查找仓储代理站点,国内的网易,DaoCloud都有对应的免费加速器,这里是我的设置:

Docker基础入门以及示例分析

  3. 上边说了,Docker for Windows 提供了两个引擎,我们可以通过右键菜单中的 Switch to Windows Containers 功能进行切换。

  4.  同时Docker for Windows 提供了容器的界面管理工具,可以通过右键菜单中的 Kitematic 功能进入,第一次可能提示你需要下载安装,其界面如下:

Docker基础入门以及示例分析

  3.docker stop:停止容器运行
  4.docker start:开始容器运行
  5.docker commit:提交容器到镜像
  6.docker images: 查看当前有的镜像

Docker基础入门以及示例分析

  8. docker build : 创建镜像

  9. docker load : 加载镜像

上边这几个是docker的主要命令,先行解释一下,后边我们会用到。

四.使用vs2017在docker下调试

这里我以一个.Net Core 站点示例,启用2017中的docker调试功能,如果是已经存在的项目,右键=》添加=》增加Docker支持即可

 新建websample站点

Docker基础入门以及示例分析

这个文件就是docker打包时需要的一个docker命令文件,vs中内部整合docker-compose和docker命令,完成了镜像生成和容器的创建

Docker基础入门以及示例分析

你会发现调试模块已经是docker了,如果想回到正常以前的项目,删除解决方案下自动生成的 docker-compose 项目即可。

我们启动调试,这个时候如果我们打开 Kitematic 会发现我们的websample容器已经创建了,并且自动添加了dev的标签,如下图:

Docker基础入门以及示例分析

五. 打包一个.net core站点镜像

  这里我使用刚才创建的.net core站点,演示一下我们完成站点开发之后,不使用vs的情况,如何通过命令完成一个镜像的打包。

  1. 发布刚才的站点到指定文件夹下

  2. 进入发布后的文件夹,修改docker文件

  查看docker文件是否存在,如果不存在直接把项目中的复制过来,并修改内容如下

FROM microsoft/aspnetcore:1.0

WORKDIR /app
COPY . /app 
EXPOSE 80

ENTRYPOINT ["dotnet", "websample.dll"]

      a.  使用microsoft/aspnetcore 作为基础镜像

  b. 制定容器的工作目录

  c. 复制当前项目文件到容器的app目录下

  d. 设置容器对外暴露80端口

  e. 启动命令,执行websample.dll 

  3. 构建镜像 

    进入文件目录,执行命令 docker build -t websample:latest .   (后边的点是需要的

Docker基础入门以及示例分析

   4. 运行当前镜像

  镜像创建完成之后,我们就可以通过镜像创建对应的运行容器了, 执行如下命令: docker run -it -p 8000:80 websample:latest

 Docker基础入门以及示例分析

可以看到我们的容器已经运行起来了,我们访问 127.0.0.1:8000

关于Docker基础入门以及示例分析就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

--结束END--

本文标题: Docker基础入门以及示例分析

本文链接: https://lsjlt.com/news/295411.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Docker基础入门以及示例分析
    这篇文章将为大家详细讲解有关Docker基础入门以及示例分析,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一. docker基础介绍  可能很多朋友对docker还停留在听说过,并没有认真关...
    99+
    2023-06-19
  • C语言入门基础的示例分析
    这篇文章给大家分享的是有关C语言入门基础的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。先上思维导图。如图所示,现在还是初识C语言的第一部分,本次只介绍了C语言本身特点,数据类型,常量变量,字符串转义字符...
    99+
    2023-06-20
  • JUnit5基础入门实例分析
    这篇“JUnit5基础入门实例分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“JUnit5基础入门实例分析”文章吧。设计哲...
    99+
    2023-06-17
  • Python入门之基础语法的示例分析
    这篇文章将为大家详细讲解有关Python入门之基础语法的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。python有哪些常用库python常用的库:1.requesuts;2.scrapy;3.p...
    99+
    2023-06-15
  • Vue全家桶入门基础的示例分析
    这篇文章主要介绍了Vue全家桶入门基础的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1. Vue概述Vue(读音 /vjuː/,类似于 view) 是一套用于构建用...
    99+
    2023-06-15
  • Python爬虫基础入门实例分析
    这篇文章主要介绍“Python爬虫基础入门实例分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python爬虫基础入门实例分析”文章能帮助大家解决问题。      &...
    99+
    2023-06-27
  • Java正则表达式入门基础的示例分析
    这篇文章主要为大家展示了“Java正则表达式入门基础的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Java正则表达式入门基础的示例分析”这篇文章吧。正则表达式是一种文本模式,包括普通字...
    99+
    2023-05-30
  • Python入门基础知识点实例分析
    这篇文章主要介绍“Python入门基础知识点实例分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python入门基础知识点实例分析”文章能帮助大家解决问题。标识符在 Python 中,所有标识符可...
    99+
    2023-07-04
  • C语言入门基础之操作符的示例分析
    这篇文章给大家分享的是有关C语言入门基础之操作符的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。操作符首先第一部分操作符分类如上,具体不再用文字阐述。算术操作符首先算术操作符,有除号值得一讲,若想得浮点数...
    99+
    2023-06-20
  • Leaflet基础入门教程示例
    目录什么是Webgis?什么是Leaflet?在Vue中安装Leaflet,与其他依赖在App.vue中使用初始化地图chinaProvider地图瓦片addControls使用工具...
    99+
    2023-01-04
    Leaflet 基础 Leaflet 入门教程
  • Ajax基础与登入的示例分析
    这篇文章将为大家详细讲解有关Ajax基础与登入的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Ajax 是 Asynchronous JavaScript and...
    99+
    2024-04-02
  • Mysql基础示例分析
    这篇文章主要介绍了Mysql基础示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。   这段时间,在做一个Web项目,需要使...
    99+
    2024-04-02
  • Docker入门安装实例分析
    本文小编为大家详细介绍“Docker入门安装实例分析”,内容详细,步骤清晰,细节处理妥当,希望这篇“Docker入门安装实例分析”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。do...
    99+
    2024-04-02
  • 容器Docker入门实例分析
    这篇文章主要讲解了“容器Docker入门实例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“容器Docker入门实例分析”吧!一、概述1.1 基本概念:d...
    99+
    2024-04-02
  • MyBatis框架零基础快速入门案例分析
    这篇文章主要讲解了“MyBatis框架零基础快速入门案例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MyBatis框架零基础快速入门案例分析”吧!一、创建数据库和表数据库名ssm,数据...
    99+
    2023-06-29
  • MySQL基础的示例分析
    这篇文章给大家分享的是有关MySQL基础的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。MySQL入门mySQL (关系型数据库管理系统)MySQL是一个关系型数据库管理...
    99+
    2024-04-02
  • javaScript基础的示例分析
    这篇文章主要为大家展示了“javaScript基础的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“javaScript基础的示例分析”这篇文章吧。首先讲...
    99+
    2024-04-02
  • Three.js基础的示例分析
    这篇文章给大家分享的是有关Three.js基础的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、Three.js官网及使用Three.js必备的三个条件1.Three....
    99+
    2024-04-02
  • node.js基础的示例分析
    这篇文章给大家分享的是有关node.js基础的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。什么是NodeJSJS是脚本语言,脚本语言都需要一个解析器才能运行。对于写在H...
    99+
    2024-04-02
  • Java基础的示例分析
    小编给大家分享一下Java基础的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1、Java主要特点简单性、跨平台性、分布性、安全性、健壮性、平台独立与可移...
    99+
    2023-06-20
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作