文章目录

  • 一、为什么要使用docker
  • 二、Windows10/11系统安装Docker Desktop
  • 三、如何判断电脑已经安装好docker
  • 四、docker前端应用实战:将vue项目打包为docker镜像运行
    • 1、将vue的项目进行构建,输出dist
    • 2、准备镜像内容
    • 3、制作镜像
    • 4、启动镜像
  • 五、如何发布镜像到 docker Hub中,以便分享给其他人下载和运行
    • 1、发布到docker Hub库中
    • 2、发布后,其他人如何下载和运行呢?
  • 六、前端有必要学会docker吗

一、为什么要使用docker

docker提供了沙箱环境,能够隔绝物理环境,相当于是之前的虚拟机。而且docker内置了很多镜像可供使用。

Docker容器技术以及docker-compose容器编排技术能最大限度的保证您的项目在开发环境和生产环境上的一致表现。

要想在window系统或mac os中使用docker,需要先安装桌面版,其实相当于是在电脑安装了一个Linux内核+docker环境。

二、Windows10/11系统安装Docker Desktop

Windows10(无论专业版还是家庭版)都能方便安装Docker Desktop

  • 在Docker官网下载最新的Docker Desktop安装,下载地址:https://www.docker.com/

    下载安装包大约有585M,目前最新版是4.15.0安装时,默认C盘,大约3分钟,安装完毕:

  • Docker Desktop启动的时候,有可能弹框提示"WSL2 installations is incomplete",这是您的系统中没有安装WSL2内核的原因,打开https://aka.ms/wsl2kernel,在打开的页面中有一个Linux内核更新包"链接,点击下载,安装。

  • WSL2 Linux内核更新包安装后,重启Docker Desktop即可正常使用。您可在cmd或者PowerShell命令行中使用docker或者docker-compose等相关命令了。

PS: 如果您在安装WSL2的过程中遇到了问题,可能是您的系统版本较低等原因,您可按照https://aka.ms/wsl2kernel 页面的相关提示更新系统。该Docker Desktop的安装方法基于Windows10WSL2如果您的系统没有或者不能安装WSL2,可能不能使用该方法安装Docker Desktop

对于win11 家庭版,需要在win10的基础上多一个前置步骤,才能安装成功:

  1. win11 中打开启用或关闭window功能,看选项中是否有hyper-v

  2. 如果没有,则需要运行一个BAT脚本,以便激活该功能,将以下代码保存为bat文件,然后使用管理员方式运行。经过大约5分钟,自动重启电脑即可:

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

三、如何判断电脑已经安装好docker

CMD输入 docker,如果有反应表示安装成功

四、docker前端应用实战:将vue项目打包为docker镜像运行

使用docker可以方便将其他人的项目直接运行,而不需要配置。

比如我这里已经有一个vue项目,接下来实操打包为镜像在本地运行或部署到docker镜像,只需要4步即可完成!

1、将vue的项目进行构建,输出dist

这个步骤就相当于是将vue的项目 npm run build 打包到服务器是一样的。

2、准备镜像内容

dist目录之上新建一个Dockerfile文件,该文件没有后缀,文件名即为此。然后输入如下内容:

FROM nginx:latest
LABEL Author imqdcn
COPY dist /usr/share/nginx/html

第一行:设置基础镜像,基础镜像使用nginx

第二行:作者信息

第三行:将dist文件夹下面的内容拷贝到/usr/share/nginx/html目录下面(nginx的默认项目路径),也就是我们Vue项目打包之后我们正常使用nginx是拷贝过去的文件夹。

3、制作镜像

docker build -t 镜像名字 .
# 比如:
docker build -t vue3project .

注意:后面的.不能省略,镜像创建成功之后使用docker images即可看到自己创建的镜像。

整个制作过程大概为1-5分钟。

4、启动镜像

docker run -d --name 镜像名字 -p 8888:80 vue3project

启动命令说明:

-d:容器在后台启动

—name : 镜像名称

-p 8888:80 :将nginx容器的80端口映射到主机的8888端口,我们访问时直接访问主机ip+映射到主机的端口,这里是8888,如果有路径,后面还要带上路径。 比如这里表示访问路径为:localhost:8888

vue3project: 我们刚刚创建的自己的镜像的名称,在创建时就要规划好名字

注意:

你制作完镜像后,就可以在自己的docker desktop看到镜像,并且在那里直接配置访问端口和将镜像放置在容器中运行。

容器:

至此,你就相当于是将本地的vue的项目打包为一个docker镜像,并且可以在本地运行查看了,就像你部署到了一台虚拟服务器中!

五、如何发布镜像到 docker Hub中,以便分享给其他人下载和运行

1、发布到docker Hub库中

发布指令,其实很简单,直接在命令行输入如下命令即可:

docker push imqdcn/xxx:latest
# docker push 注册用户名/镜像名:tag名

意味着,你需要先注册和登录docker-desktop

然后通过命令行,运行docer login 登录,看是否命令行也已经登录成功:

如果你的镜像名字在最开始时没起好名或与其他人发布的镜像名有冲突,可以通过如下方式改名:

docker tag xxx imqdcn/xxx# 表示将xxx改名为 imqdcn/xxx,你也可以改为任意你喜欢的名字,比如imqdcn/vue3project

至于tag名,则可以通过docker images看到:

改名后:

以上都完成,就可以使用 第一条发布指令进行发布了。

你可以在docker-desktop通过搜索该镜像名字找到镜像地址,或打开https://hub.docker.com/查找你发布的镜像:

2、发布后,其他人如何下载和运行呢?

镜像作者发给你hub镜像地址后,上面有拉取指令:

可以在命令行中先通过执行 docker pull下载到本地:

docker pull imqdcn/xxx
# 如果后面没有写tagname,则使用默认的tagName:latest

运行以上指令,即可在docker desktop看到该镜像,并可运行该镜像。

六、前端有必要学会docker吗

目前大部分公司都会将项目通过docker的方式部署到测试、预演、生产环境中。

虽然这些工作基本上都是由后端开发、测试工程师或运维工程师来完成,并不需要前端参与。俗话说技多不压身,从目前趋势来看,docker学起来简单,用起来也不复杂,仅从个人技术提升和兴趣爱好方面也是有必要学会的。

笔记源码下载:imqd.cn/why-web-developer-should-study-docker.html

如果你对web前端开发、面试感兴趣的话可以加V:imqdcnn。群里有各种学习资源发放,免费答疑,更有行业深潜多年的技术牛人分析讲解。

祝你能成为一名优秀的WEB前端开发工程师!

WEB前端有必要学会docker吗?0基础-45分钟带你学会(包含视频笔记案例源代码)相关推荐

  1. Web前端:Bootstrap最强总结 附详细代码 (带常用案例!)

    Web前端基础: Web前端:HTML最强总结 附详细代码 Web前端:CSS最强总结 附详细代码 Web前端:JavaScript最强总结 附详细代码 Web前端工具: Web前端: JQuery最 ...

  2. 10分钟带你学会微信小程序的反编译

    以xxxxx小程序为例10分钟带你学会微信小程序的反编译 2019-11-28 12:59:26 以一个简单的例子介绍下小程序反编译操作流程 实验环境 前置准备 模拟器内软件安装 获取小程序包 开始解 ...

  3. 前端网页广告无线翻滚_从小白到web前端工程师进阶之路 从0到1到更深

    互联网的发展,让web前端技术发生了翻天覆地的变化,前端开发工程师可以让网页内容变得更加生动,为用户带来更好的体验.那么,武汉web前端培训哪个好?web前端好学吗?作为一个合格的Web前端工程师,需 ...

  4. 北京web前端培训哪里好,从0开始打造个人网站

    很多人只听说web前端很简单很好学,却不知道学出来能干什么,你知道吗,web前端也是能干很多有意思的东西的,比如建一个自己的网站,比如建一个小程序,这次来说说前端人的标配,如何从零开始打造自己的个人网 ...

  5. 应聘web前端开发面试时问到的基础问题

    由于我是第一次面试web前端开发,面试之前也没做很多准备非常紧张,面试时间是早上11点,我提前半个小时来到了这里,HR叫我去填了一下表,填完表就倒杯水让我在这里休息一下,并没有问我什么问题,过了一会有 ...

  6. Web前端:JavaScript最强总结 附详细代码 (带常用案例!)

    Web前端基础: Web前端:HTML最强总结 附详细代码 Web前端:CSS最强总结 附详细代码 Web前端:JavaScript最强总结 附详细代码 Web前端工具: Web前端: JQuery最 ...

  7. web前端期末大作业 基于HTML+CSS+JavaScript角色管理(带增删改查功能)

    ⛵ 源码获取 文末联系 ✈ Web前端开发技术 描述 网页设计题材,DIV+CSS 布局制作,HTML+CSS网页设计期末课程大作业 | 学生管理系统网页设计 | OA管理系统 | 后台管理模板 | ...

  8. web前端开发工程师之HTML+CSS初级到精通系列课程-陈璇-专题视频课程

    web前端开发工程师之HTML+CSS初级到精通系列课程-438人已学习 课程介绍         本系列课程为HTML5+CSS3基础课程,从HTML结构标签.常用标签及属性.CSS语法.CSS常用 ...

  9. WEB前端之HTML5/4高薪就业班视频教程【课件】-丁鹏-专题视频课程

    WEB前端之HTML5/4高薪就业班视频教程[课件]-162人已学习 课程介绍         本课程包含HTML4.HTML5相关知识点,讲解细致. QQ答疑群: 807662232(我们因技术而结 ...

最新文章

  1. 震惊 Guava 竟然有坑
  2. R语言row.names函数为dataframe、matrix设置行名称实战
  3. Java实现简单的RPC框架
  4. Ganglia 调试技巧
  5. 三级菜单页面布局_三级菜单的最快导航布局
  6. java socket如何请求485协议_javaSE第十五部分 网络编程(1)Socket和ServerSocket
  7. java读取合并单元格_Java POI常用方法,读取单元格的值,设置单元格格式,合并单元格,获取已合并的单元格,导出至本地等...
  8. 简单创建两个线程,交替输出内容
  9. CentOS7下Tomcat启动慢的原因及解决方案
  10. python numpy库下载_python3.6下Numpy库下载与安装图文教程
  11. 接口测试流程及常见问答
  12. c++源码逆向UML工具踩坑
  13. 状态方程和特性方程的区别
  14. Star Way To Heaven 题解
  15. burp的安装和配置
  16. 用Java实现一个台球小游戏
  17. 【python】OpenCV—Video to Imag / Image to Video
  18. 【机器学习】随机森林 – Random forest
  19. B. 小花梨的三角形
  20. python web前端后端页面详解

热门文章

  1. 暑假N天乐【比赛篇】 —— 2019牛客暑期多校训练营(第二场)
  2. oracle有无left函数,Sql 中的 left 函数、right 函数
  3. 农村土地确权之图解地块 —— 图解地块注意事项说明(四)
  4. C语言绘图示例-商标徽标
  5. 利用阿里云轻量服务器实现frp内网穿透(Mac远程控制win)
  6. 初学者做三帧差分(matlab代码)
  7. 车载音频“告别”野蛮生长
  8. 手游上线流程(干货分享)
  9. ./configure的含义
  10. python爬取QQ空间说说并生成词云