zoukankan      html  css  js  c++  java
  • Docker的介绍与安装教程

    基于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一些常用命令

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

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

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

    在Windows系统下安装Docker Toolbox

    • 首先我们先去官方的网址去下载我们需要的软件
       网址: 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

    网址: 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很简单
      - 第一步

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

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

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

  • 相关阅读:
    C++设计模式之-代理模式
    C++实现设计模式之-装饰模式
    C++实现设计模式之 —策略与简单工程结合
    C++笔记(5)——浮点数的比较
    PAT 1001 A+B Format (20 point(s))
    LeetCode——28. Implement strStr()
    LeetCode——3. Longest Substring Without Repeating Characters
    LeetCode——160 Intersection of Two Linked Lists
    LeetCode——142 设计链表2
    LeetCode——141 设计链表
  • 原文地址:https://www.cnblogs.com/xiangnuan/p/13880696.html
Copyright © 2011-2022 走看看