基于Windows系统下docker的介绍与安装教程以及更换docker镜像源教程

Docker的核心概念

镜像(image)

Docker 镜像(Image)就是一个只读的模板。例如:一个镜像可以包含一个完整的操作系统环境,里面仅安装了 Apache 或用户需要的其它应用程序。镜像可以用来创建 Docker 容器,一个镜像可以创建很多容器。Docker 提供了一个很简单的机制来创建镜像或者更新现有的镜像,用户甚至可以直接从其他人那里下载一个已经做好的镜像来直接使用。

仓库(repository)

仓库(Repository)是集中存放镜像文件的场所。有时候会把仓库和仓库注册服务器(Registry)混为一谈,并不严格区分。实际上,仓库注册服务器上往往存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的标签(tag)。

仓库

分为公开仓库(Public)和私有仓库(Private)两种形式。最大的公开仓库是 Docker Hub,存放了数量庞大的镜像供用户下载。国内的公开仓库包括 时速云 、网易云 等,可以提供大陆用户更稳定快速的访问。当然,用户也可以在本地网络内创建一个私有仓库。

当用户创建了自己的镜像之后就可以使用 push 命令将它上传到公有或者私有仓库,这样下次在另外一台机器上使用这个镜像时候,只需要从仓库上pull下来就可以了。

Docker 仓库的概念跟 Git 类似,注册服务器可以理解为 GitHub 这样的托管服务。

容器(container)

Docker 利用容器(Container)来运行应用。容器是从镜像创建的运行实例。它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。可以把容器看做是一个简易版的 Linux 环境(包括root用户权限、进程空间、用户空间和网络空间等)和运行在其中的应用程序。

容器的定义和镜像几乎一模一样,也是一堆层的统一视角,唯一区别在于容器的最上面那一层是可读可写的。

Docker一些常用命令

  1. 显示版本号
  2. docker --versions
  3. 显示镜像
  4. docker images
  5. 构建镜像
  6. sudo docker build -t 'myflask' .
  7. 保存镜像
  8. docker save -o /home/dyufei/tensorflow.tar tensorflow/tensorflow
  9. 或者 docker save tensorflow/tensorflow > /home/dyufei/tensorflow.tar
  10. 加载镜像
  11. docker load -i 'c:/123/tensorflow.tar’
  12. 运行容器
  13. sudo docker run -it --rm -v /Users/liuyue/wodfan/work/myflask:/Project/myflask -p 5000:5000 myflask
  14. docker run -it --rm -p 5000:5000 -v /Users/liuyue/wodfan/work/myflask:/Project/myflask myflask
  15. 后台运行
  16. sudo docker run -d -p 5000:5000 --name test-flask-1 myflask
  17. 登录系统 镜像编号
  18. docker run -ti 6866
  19. docker run -it centos /bin/bash
  20. 进入镜像并且开启终端
  21. docker exec -it mynginx /bin/bash

关于vue下载node依赖的问题解决方法

  1. #如果出现任何关于node依赖的问题导致服务无法启动,
  2. 执行npm install无法解决的,则安装rimraf,然后进入项目目录下,
  3. 执行rimraf node_modules 删除后,重新执行 npm install 安装依赖

在Windows系统下安装Docker Toolbox

  • 首先我们先去官方的网址去下载我们需要的软件
    1. 网址: https://get.daocloud.io/toolbox

1.安装与配置

1.1当我们下载好之后,直接双击软件安装

勾选的就是是否允许官方收集信息,可以不勾选

1.2然后我们进入下一个页面,然后next下一步

1.3 在我们安装好之后,我们先不要着急打开,首先右键打开属性,因为docker依赖git,所以我们把路径中的git路径改成我们自己的git所在路径(如果上图中勾选安装git则不需要这一步)

2.配置

2.1启动慢的解决方式
  • 大多数人第一次进入docker页面会加载会特别慢,所以需要等待一下。原因是在C盘下的用户/用户/.docker/machine/cache目录下,当你第一次进入docker的时候,他会下载一个名为boot2docker.iso镜像文件,因为是国外的源,所以下载会比较缓慢。为了解决这一问题,我为大家提供了一种解决方式

    尝试断网,然后进去你的docker目录下,默认在c盘下的Program Files Docker Toolbox

复制到下方目录下即可,当然是断网的情况下

然后双击docker打开,因为是在断网的情况下,他会自动检测到你的boot2docker.iso镜像文件,这样就不会再次去下载,节约了很多时间。出现下图所示的小鲸鱼,则就意味着成功

2.2更换国内镜像源

  • 因为docker默认是国外的源,我们使用起来比较缓慢,所以我们接下来换成我们自己的镜像源
  • 首先我们先去注册一个阿里云

    网址:cr.console.aliyun.com

    图中的网址就是我们的镜像源网址

  • 然后在命令行输入 docker-machine ssh default 登录默认镜像

  • 出现上图则就显示了我们docker的默认源,然后我们输入命令sudo sod -i "s|EXTRA_ARGS='|EXTRA_ARGS=' --regirstry-morror=https://7tzaiikc.mirror.aliyuncs.com" /var/lib/boot2docker/profile 网址就是我们自己的镜像源

  • 当我们成功运行后,重启镜像docker-machine restart default在命令行输入 docker info 查看是否应用成功

在Windows系统下安装Docker Desktop

  • 安装DockerDesktop这个版本的docker相比之下简单很多,就直接点击安装但是有些限制

  • 系统要求:Windows 10 64位:专业版,企业版或教育版(Build 15063或更高版本)。

1下载安装DcockerDesktop

  1. 网址: https://get.daocloud.io/

1.1双击打开下载好的DockerDesktop

  • 点击OK

  • 点击close

1.2查看是否安装成功以及错误解决

  • 如果你安装成功双击打开的时候,出现这个错误。

  • 其实很简单解决,点击左下方的 Rest to factory defaults 会出现下放这个图 意思就是WSL 2 安装不完整,我们需要点击下方的链接进入,去下载该补丁。

  • 按照所需下载自己所需的补丁,下载完成就双击安装即可。安装完成点击上图的Regstart 重启即可

  • 若已经出现Dcoker Desktop is running 则就意味着成功

2.更换Docker Desktop镜像源

  • 与docker toolbox不同,Dcoker Desktop很简单

    - 第一步

  1. - 第二步
  2. - 点击设置图标,进入设置页面,然后点击Docker Engine ,在其中的registry-mirrors中添加自己的加速器镜像源网址(上文中已经介绍镜像源如何得到),点击左下角Apply & Restart 应用

  1. - 第三步
  2. - 在命令行输入 docker info 查看是否应用成功

这就是Docker 在Windows下的两种安装方式,希望对大家可以有所帮助。

Docker的介绍与安装教程的更多相关文章

  1. Docker系列之MySQL安装教程

    Docker系列之MySQL安装教程 有了前面的基础教程Docker系列之常用命令操作手册之后,本博客记录一篇mysql的安装教程 mysql镜像查询命令 docker search mysql 几个 ...

  2. Docker入门-介绍和安装

    Docker容器 Docker是什么 Docker最初是dotCloud公司创建人Solomon Hykes在法国期间发起的一个公司内部项目,它是基于dotCloud公司多年云服务技术的一次革新,并于 ...

  3. Docker之介绍与安装

    Docker 说明 本章,我们主要从Docker简介.Docker中几个核心概念和Docker安装这几个方面对Docker进行介绍! 1. Docker 简介 1.1. 什么是 Docker Dock ...

  4. Docker 学习应用篇之二: Docker的介绍和安装

    之前说过Docker的好处,Docker可以集装箱化的部署应用程序.那么Docker是通过什么实现的呢.要理解Docker内部构建,需要先理解Docker的四种部件 1)images:镜像,docke ...

  5. docker 简单介绍与安装

    主机虚拟化(vmware,visual box等) type-Ⅰ type=Ⅱ 主机虚拟化是隔离最彻底的,但是由于多隔了一个虚拟的操作系统,性能会慢一些. 容器虚拟化(docker等) 隔离没有主机虚 ...

  6. Docker系列一:Docker的介绍和安装

    Docker介绍 Docker是指容器化技术,用于支持创建和实验Linux Container.借助Docker,你可以将容器当做重量轻.模块化的虚拟机来使用,同时,你还将获得高度的灵活性,从而实现对 ...

  7. Docker的介绍和安装(1)

    一.虚拟化简介 1.虚拟化概念 计算机虚拟化(Computing Virtualization),一种资源管理技术,是指通过虚拟化技术将一台计算机的各种实体资源 , 如处理器 , 网络 , 内存及存储 ...

  8. Docker的介绍及安装

    什么是Dcoker? 引用度娘的解释:Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 linux 机器上,也可以实现虚拟化.容器 ...

  9. DOCKER windows 7 详细安装教程

    DOCKER windows安装 编者: xiaym 日期:2015年1月20日 排版工具: 马克飞象 QQ: 252536711 DOCKER windows安装 1.下载程序包 2. 设置环境变量 ...

随机推荐

  1. java identityHashCode 和 hashCode

    当类并没有重写Object#hashCode()时, 对于 System.identityHashCode(Object) 和 Object#hashCode() 的结果是一致的; 但对于类似Stri ...

  2. manacher(马拉车算法)

    Manacher(马拉车算法) 序言 mannacher 是一种在 O(n)时间内求出最长回文串的算法 我们用暴力求解最长回文串长度的时间复杂度为O(n3) 很明显,这个时间复杂度我们接受不了,这时候 ...

  3. C语言实现数据机构链表的基本操作(从键盘输入生成链表、读取数组生成链表)

    利用头插法实现逆置 下面简单介绍一下,算法思想结合图示看 算法思想:"删除"头结点与链表其他结点的原有联系(即将头结点的指针置空),再逐个插入逆置链表的表头(即"头插&q ...

  4. 用Docker swarm快速部署Nebula Graph集群

    用Docker swarm快速部署Nebula Graph集群 一.前言 本文介绍如何使用 Docker Swarm 来部署 Nebula Graph 集群. 二.nebula集群搭建 2.1 环境准 ...

  5. ubuntu下一键安装pptpd

    1 #!/bin/bash 2 # Quick and dirty pptp VPN install script 3 # Ubuntu 12+ or Debain 7+ 4 # Reference ...

  6. Emit动态生成代理类用于监控对象的字段修改

    利用Emit动态生成代理对象监控对象哪些字段被修改,被修改为什么值 被Register的对象要监控的值必须是Virtual虚类型 必须使用CreateInstance创建对象 必须使用DynamicP ...

  7. git 一个可以提高开发效率的命令:cherry-pick

    各位码农朋友们一定有碰到过这样的情况:在develop分支上辛辛苦苦撸了一通代码后开发出功能模块A,B,C,这时老板过来说,年青人,我们现在先上线功能模块A,B.你一定心里一万只草泥马奔腾而过,但为了 ...

  8. makefile实验三 理解make工作的基本原则

    代码简单,但测试花样多,若能回答对本博客的每个步骤的预期结果,可以说对makefile的基础掌握是扎实的. 一,当前的makefile代码 root@ubuntu:~/Makefile_Test# r ...

  9. 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 02 封装的代码实现

    088 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 02 封装的代码实现 本文知识点:Java封装的代码实现 说明:因为时间紧张,本人写博客过程中只 ...

  10. Java知识系统回顾整理01基础04操作符04位操作符

    一.位操作符 位操作符在实际工作中用的并不常见,但是我比较纠结这些位操作.所以实际练习位操作符的每一个操作符的操作实例来理解其具体含义. 建议: 如果确实感兴趣,就看看,个人建议跳过这个章节. 真正工 ...