【开发工具 docker】值得学习的应用容器引擎docker安装

时间:2021-04-27 17:24:30

概述:

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

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

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

Docker的应用场景

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

docker能为我们带来什么?

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

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

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

【开发工具 docker】值得学习的应用容器引擎docker安装

@

壹:docker安装

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

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

一:使用docker toolbox安装

传送门

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

【开发工具 docker】值得学习的应用容器引擎docker安装

二:非docker toolbox安装

1、开启Hyper-V

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

pushd "%~dp0"

dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt

for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"

del hyper-v.txt

Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL

2、打开Hyper-V功能

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

【开发工具 docker】值得学习的应用容器引擎docker安装

3、伪装成专业版

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

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

【开发工具 docker】值得学习的应用容器引擎docker安装

4、安装docker

安装地址:传送门

点击get docker,即可下载,下载完成后直接安装即可。

【开发工具 docker】值得学习的应用容器引擎docker安装

贰:安装kitematic

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

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

1、下载软件

传送门

【开发工具 docker】值得学习的应用容器引擎docker安装

2、安装

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

【开发工具 docker】值得学习的应用容器引擎docker安装

叁:配置docker

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

1、环境变量:在他安装的时候就自动配置好了,如果没有配置,就把他的C:\Program Files\Docker\Docker\resources\binC:\ProgramData\DockerDesktop\version-bin配置到path下即可,路径根据自己的来。

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

【开发工具 docker】值得学习的应用容器引擎docker安装

肆:docker初体验

一:创建容器方法一

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

  • 1、搜索镜像

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

【开发工具 docker】值得学习的应用容器引擎docker安装

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

【开发工具 docker】值得学习的应用容器引擎docker安装

  • 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】值得学习的应用容器引擎docker安装

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

【开发工具 docker】值得学习的应用容器引擎docker安装

作者有话

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

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

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

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