关键词:DockerDesktop、如何在桌面运行Docker、Docker容器

工欲善其事必先利其器 之 DockerDesktop(上)

文章目录

  • 工欲善其事必先利其器 之 DockerDesktop(上)
  • 前言
  • 一、DockerDesktop 概述
  • 二、DockerDesktop 优势
  • 三、Docker Desktop 的一些关键特性
  • 四、搭建你自己的 DockerDesktop
  • 五、DockerDesktop 实践调优
    • 修改Docker Desktop镜像存放目录
  • 总结
  • 声明
  • 参考文献

前言

前几年容器技术没有现在这么火的时候,搭建开发环境是非常痛苦的。在那个时期,所有环境都必须装在自己电脑上,比如Oracle,一旦安装出问题,即使卸载重装也会遇到各种各样诡异的问题,无奈之下,只得重装系统。你是不是觉得不可思议,搭建个环境,安装失败还得重装操作系统。

随着容器技术的发展,现在各种应用几乎都可以运行在容器中。应用运行所需要的环境依赖全部包含在容器内,开发过程中需要使用某个环境,只需要运行一个容器就好了,是不是很便捷。你可能有疑问,那容器运行在什么地方呢?今天就带你一起认识一下可以在操作系统上运行容器的神器 DockerDesktop。

一、DockerDesktop 概述

Docker Desktop 是一个适用于 MacOS 和 Windows 机器的应用程序,用于构建和共享容器化应用程序和微服务。

Docker Desktop 提供您在桌面上设计和交付容器化应用程序所需的速度、选择和安全性。Docker Desktop 包括开发者工具、Kubernetes 和与生产 Docker 引擎的版本同步。

Docker Desktop 官方口号“容器化和共享任何应用程序”,支持跨云、语言和框架的任意组合

二、DockerDesktop 优势

  • 开发和交付平台
    Docker Desktop 和 Desktop Enterprise 为开发人员提供了与生产集群一致的Docker 和 Kubernetes环境。使用唯一能够提供可信且经过认证的端到端安全性的平台,在任何地方构建和运行相同的应用程序。

  • 支持任何应用程序,任何语言

    数百万正在构建容器化应用程序的开发人员的首选。
    Docker Desktop 是一个适用于 MacOS 和 Windows 机器的应用程序,用于构建和共享容器化应用程序。

  • 开发速度
    对于开发人员和 Docker 试验人员来说,不需要对 Docker 或 Kubernetes 有着非常深的理解。Docker 可以在几分钟内轻松启动和运行,快速编码、测试和协作,同时确保开发和生产之间的一致性。

三、Docker Desktop 的一些关键特性

  • 能够以多种语言和框架在任何云平台上容器化和共享任何应用程序
  • 轻松安装和设置完整的 Docker 开发环境
  • 包括最新版本的 Kubernetes
  • 自动更新,让您保持最新状态和安全
  • 在 Windows 上,能够在 Linux 和 Windows Server 环境之间切换以构建应用程序
  • 使用本机 Windows Hyper-V 虚拟化实现快速可靠的性能
  • 能够通过 Windows 机器上的 WSL 2 在 Linux 上本地工作
  • 代码和数据的卷安装,包括文件更改通知和轻松访问本地主机网络上运行的容器
  • 使用支持的 IDE 进行容器内开发和调试

四、搭建你自己的 DockerDesktop

由于笔者用的是 Windows 操作系统,下面案例将在 Windows 操作系统上搭建。

  • 第一步 下载安装包

    Get Docker Desktop for Windows

  • 第二步 安装

    找到下载好的安装包 Docker Desktop Installer.exe 双击,按照提示进行操作即可。


    点击Ok按钮,进行安装


耐心等待安装完成


看到 Installation succeeded,桌面也有图标,安装就大功告成,是不是很简单。

  • 第三步 运行

    双击桌面图标 等待程序启动


    等待程序启动


    DockerDesktop 启动成功


    DockerDesktop Images 管理UI


    DockerDesktop Volumes 管理UI


    DockerDesktop Development Environment

  • 第四步 使用

    DockerDesktop 安装成功了,如何使用呢?

    我们需要在操作系统终端 或 PowerShell 这样的命令行终端,然后尝试一些 Docker 命令。如何打开终端呢?

    Windows 打开终端的快捷键 win+r 在弹出的窗口输入 cmd 点击 确定 按钮,即可进入命令行终端,传说中的黑窗口。

    运行docker version检查版本。

    docker version
    

    看到如下信息,说明docker已经可以正常运行了

    Client:Cloud integration: 1.0.17Version:           20.10.7API version:       1.41Go version:        go1.16.4Git commit:        f0df350Built:             Wed Jun  2 12:00:56 2021OS/Arch:           windows/amd64Context:           defaultExperimental:      trueServer: Docker Engine - CommunityEngine:Version:          20.10.7API version:      1.41 (minimum version 1.12)Go version:       go1.13.15Git commit:       b0f5bc3Built:            Wed Jun  2 11:54:58 2021OS/Arch:          linux/amd64Experimental:     falsecontainerd:Version:          1.4.6GitCommit:        d71fcd7d8303cbf684402823e425e9dd2e99285drunc:Version:          1.0.0-rc95GitCommit:        b9ee9c6314599f1b4a7f497e1f1f856fe433d3b7docker-init:Version:          0.19.0GitCommit:        de40ad0
    

接下来,运行你的第一个应用。运行 `docker run hello-world` 以验证 Docker 是否可以拉取和运行映像。

docker run hello-world

如果看到打印信息中出现Hello from Docker!,说明从Docker镜像仓库拉取镜像网络是通的。

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
b8dfde127a29: Pull complete
Digest: sha256:df5f5184104426b65967e016ff2ac0bfcd44ad7899ca3bbcf8e44e4461491a9e
Status: Downloaded newer image for hello-world:latestHello 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 theexecutable that produces the output you are currently reading.4. The Docker daemon streamed that output to the Docker client, which sent itto your terminal.To try something more ambitious, you can run an Ubuntu container with:$ docker run -it ubuntu bashShare images, automate workflows, and more with a free Docker ID:https://hub.docker.com/For more examples and ideas, visit:https://docs.docker.com/get-started/

五、DockerDesktop 实践调优

修改Docker Desktop镜像存放目录

总结

以上就是本文的主要内容,本文介绍了什么是 DockerDesktop ,为什么使用 DockerDesktop ,怎么搭建 DockerDesktop ,DockerDesktop 实践调优。本专栏后面的文章将带你认识其它的开发利器 ,敬请期待哦(*^▽^*)

声明

以上内容均来源于网络,如有错误,请多多包含。

参考文献

Docker Desktop

Docker Desktop for Windows

Docker Desktop for Mac

工欲善其事必先利其器 之 DockerDesktop(上)相关推荐

  1. 工欲善其事必先利其器 之 DockerDesktop(下)

    工欲善其事必先利其器 之 DockerDesktop(下) 文章目录 工欲善其事必先利其器 之 DockerDesktop(下) 前言 一.DockerDesktop Settings 二.什么是 W ...

  2. 工欲善其事必先利其器 之 Minikube(上)

    关键词:minikube.快速搭建kubernetes.快速搭建k8s.如何在桌面上运行一个k8s 工欲善其事必先利其器 之 Minikube (上) 文章目录 工欲善其事必先利其器 之 Miniku ...

  3. github 著名php,工欲善其事必先利其器,盘点Github上那些优秀的PHP项目

    工欲善其事必先利其器,作为一个开发者,了解并使用前人造好的轮子能让我们的开发事半功倍,在这里老宅整理了几个Github上有趣的php项目与大家分享. swoole Github仓库名称:swoole/ ...

  4. 工业工程专业C语言,工欲善其事必先利其器——工业工程课程设置及其核心专业课简介...

    新朋友点上方蓝字"IE臭皮匠"快速关注 公众号成立期间很多IE学子留言,说应聘时HR不知道工业工程是什么.能做什么,对此小编十分有同感.要想了解IE是什么.能做什么,首先要了解学了 ...

  5. pfv和php,【Retina China 2019】工欲善其事必先利其器——影像学在眼底病中的应用与发展...

    原标题:[Retina China 2019]工欲善其事必先利其器--影像学在眼底病中的应用与发展 编者按 影像学是眼底病诊治的利器,伴随着近年来影像学的飞速发展,眼底病展现出一种蓬勃的朝气.2月21 ...

  6. 工欲善其事必先利其器,Apache Kylin原来支持这么多可视化工具

    工欲善其事必先利其器,Apache Kylin原来支持这么多可视化工具 坚持原创,写好每一篇文章 Apache Kylin的广泛应用还得益于它对很多软件都非常的支持,这篇文章我们将汇总一下Apache ...

  7. 工欲善其事必先利其器-C语言拓展–嵌入式C语言(一)

    工欲善其事必先利其器-C语言拓展–嵌入式C语言(一) 我是golang出生,当时做项目的时候java.c++.js.python都折腾过,但是关于c语言的接触,基本上都停留在大一的那个暑假.后来因为要 ...

  8. 工欲善其事必先利其器,IDEA必装插件!

    工欲善其事必先利其器,IDEA必装插件! 代码缩略图 CodeGlance 推荐指数:★★★★★ 用过sublime Text的都知道它第一印象就是编辑器最右边有一个缩略图,可以很好的对代码进行导航 ...

  9. # 工欲善其事必先利其器,让你的idea“飞”起来

    工欲善其事必先利其器,让你的idea"飞"起来 文章目录 工欲善其事必先利其器,让你的idea"飞"起来 前言 img 1.经典的psvm,sout: 2.控制 ...

最新文章

  1. 一文读懂P Quant与 Q Quant ,量化交易与金融工程
  2. eclipse导入项目Archive for required library cannot be read or is not a valid ZIP file
  3. Apache Flink 零基础入门(十九)Flink windows和Time操作
  4. 美团提出具有「位置编码」的Transformer,性能优于ViT和DeiT
  5. vue、cnpm不是内部文件_解决vue不是内部或者外部命令
  6. 聊聊Spring家族中的那几百个注解
  7. ZED2 ROS下bag包的录制与回放数据
  8. 呼吸灯程序(非阻塞)
  9. markdown emoji表情代码
  10. 网易云音乐自动获取前三首歌曲名称
  11. 针对校园LAN的OpenFlow和软件定义网络
  12. Python 爬取QQ音乐个人单曲排行榜
  13. 计算机网络 | 应用层
  14. 实战 | 用 Python 选股票,据说可以多挣个20%
  15. 牛客小白月赛21 I题
  16. python 百度脑图json数据转Excel
  17. Mac系统如何取消自动播放视频和实况照片?
  18. Go语言之路:一、万丈高楼平地起
  19. java向微信公众号---发送模板和图文消息
  20. 分布式、高并发、高性能场景(抢购、秒杀、抢票、限时竞答)数据一致性解决方案

热门文章

  1. 通过cmd注销服务器,如何通过cmd命令远程重启或远程关闭Windows服务器
  2. 什么是超线程,开启超线程有什么作用
  3. mipcms修改后台地址
  4. 需求分析系列:软件需求分析方法论
  5. 申请密钥 Android SDK
  6. python基础部分学习笔记2
  7. 时间服务器端口协议,在RHEL / CentOS 7中设置“NTP(网络时间协议)服务器”
  8. 抓取国外网站数据合法吗?法律分析
  9. RocketMQ——查看死信队列
  10. 如何参与github开源项目,成为contributor