• Docker desktop 使用


    docker desktop启动之后settings一直转圈处理

     

    docker ps

    error during connect: In the default daemon configuration on Windows,

    the docker client must be run with elevated privileges to

    connect.: Get "http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.24/containers/json": open //./pipe/docker_engine: The system cannot find the file specified.

    解决步骤:

    步骤一 管理员权限运行PowerShell

    步骤二 cd "C:\Program Files\Docker\Docker"

    步骤三 ./DockerCli.exe -SwitchDaemon
    -----------------------------------

    windows要打开  勾选Hyper-V选项

    在 Windows 系统中开发 Linux 程序的又一神器

    但是 WSL 只是长得像 Linux 而已,虽然在这个子系统中,我们可以执行 Linux 程序,但是到了底层,WSL 调用的还是 win32 API。

    也就是说:WSL 只是一个适配层。

    后来,微软终于放出了 WSL2 这个真正的 Linux 子系统,这是一个真正的 Linux 完整内核,与传统的虚拟机 VitualBox、VMWare 一样,但是它与宿主机的互操作性更好.

    什么是 WSL 2? Windows Subsystem for Linux
    WSL 2 是适用于 Linux 的 Windows 子系统体系结构的一个新版本,它支持适用于 Linux 的 Windows 子系统在 Windows 上运行 ELF64 Linux 二进制文件。 它的主要目标是提高文件系统性能,以及添加完全的系统调用兼容性。

    这一新的体系结构改变了这些 Linux 二进制文件与Windows 和计算机硬件进行交互的方式,但仍然提供与 WSL 1(当前广泛可用的版本)中相同的用户体验。

    单个 Linux 分发版可以在 WSL 1 或 WSL 2 体系结构中运行。 每个分发版可随时升级或降级,并且你可以并行运行 WSL 1 和 WSL 2 分发版。 WSL 2 使用全新的体系结构,该体系结构受益于运行真正的 Linux 内核。

    只有 Windows 10 版本 2004 的内部版本 19041 或更高版本中才提供 WSL 2
    ————————————————

     win10安装使用Docker-Docker Desktop

    WSL2配置
    启动Docker Desktop,出现如下提示。

    点击提示的网址,转到WSL2 Linux kernel配置网页。
    以x86计算机为例,下载适用于 x64 计算机的 WSL2 Linux 内核更新包。
    按照配置网页提示完成WSL2配置,步骤4至“祝贺你! 现已成功安装并设置了与 Windows 操作系统完全集成的 Linux 分发!”之间的步骤,即可!

    打开Docker Desktop即可使用。

    我们也可以打开CMD窗口,输入docker version得到如下输出

     
    Docker Desktop 4.7.1 (77678)
     Engine:
      Version:          20.10.14
      API version:      1.41 (minimum version 1.12)
      Go version:       go1.16.15
      Git commit:       87a90dc
      Built:            Thu Mar 24 01:46:14 2022
      OS/Arch:          linux/amd64
      Experimental:     false
     containerd:
      Version:          1.5.11
      GitCommit:        3df54a852345ae127d1fa3092b95168e4a88e2f8
     runc:
      Version:          1.0.3
      GitCommit:        v1.0.3-0-gf46b6ba
     docker-init:
      Version:          0.19.0
      GitCommit:        de40ad0
     

    日益严重的软件安全问题,docker 和anchore 联合开发了一个docker 扩展 sbom (软件物料清单)
    内部是基于了开源项目syft,使用简单

    curl -sSfL https://raw.githubusercontent.com/docker/sbom-cli-plugin/main/install.sh | sh -s --
     

    默认是table 格式输出,但是也支持其他格式的,比如json(方便分析以及存储使用)

    docker sbom nginx

    sbom 是一个很不错的扩展,可以提升我们docker 镜像的透明以及软件的安全,很值得使用

     
    在cmd下运行:
     
    docker run -d -p 80:80 docker/getting-started
     Unable to find image 'docker/getting-started:latest' locally
     latest: Pulling from docker/getting-started
     59bf1c3509f3: Pull complete
     8d6ba530f648: Pull complete
     5288d7ad7a7f: Pull complete
     39e51c61c033: Pull complete
     ee6f71c6f4a8: Pull complete
     f2303c6c8865: Pull complete
     0645fddcff40: Pull complete
     d05ee95f5d2f: Pull complete
     Digest: sha256:aa945bdff163395d3293834697fa91fd4c725f47093ec499f27bc032dc1bdd16
     Status: Downloaded newer image for docker/getting-started:latest
     c41a18e7fd167e5d02e1f561943f9d60d46282c4fae9079e65c171a6f55ac0c9

    然后Docker Desktop可以看到:

     
     
    
    

    Docker-Docker镜像存储位置

    Docker基于容器化技术、可以很方便提供ElasticSearch、MySQL、Redis、RabbitMQ等容器,在Linux上安装Docker就很简单,Windows要如何安装?

    参考官方安装文档:https://docs.docker.com/docker-for-windows/install/
    官方给出了两种方案,这里可能就会纠结了到底用哪种,WSL2还是Hyper-V,这两者有什么不同?可以参考下面一段话

    In the most basic of answers: If you’re ONLY using docker: WSL2

    If you require Linux, additional VMs or want access to Docker’s Advanced tab for resource allocation: Hyper-V

    Final Note: Although Hyper-V is officially unsupported for Windows 10 Home edition and is stated so throughout published material, there is a proposed way to enable it which can be found in this MicrosoftDocs Virtualization-Documentation issue posting. While I am unable to comment on how well it works or if it works at all, there are guides available if you wish to try.

    如果你只用docker的话,考虑各方面使用WSL2是最好的选择,而且Hyper-v不适合家庭版安装docker。

    原文地址:
    https://superuser.com/questions/1561465/docker-on-hyper-v-vs-wsl-2
    ————————————————
    参考链接:https://blog.csdn.net/qq_38721537/article/details/117163344

    使用WSL2 的在docker desktop改不了位置,因为是wsl2管理的。我们手动去调整:

    修改docker数据存放位置
    经过上一步我们已经成功安装好了docker了,但是现在docker默认的镜像和数据文件都存放在C盘中,所以我们需要将修改配置将docker数据文件移动到其他地方。

    当前docker数据文件存放位置

     

    首先我们右键点击右下角鲸鱼图标退出Docker,等待Docker完全退出后
     

    使用以下的命令来查询当前docker的状态

    wsl -l -v --all

    退出后,可以再查询一次状态,可以看到状态变成了stopped这样就正确了

     

    导出WSL系统

    使用以下的命令将上面的两个系统导出来

    wsl --export docker-desktop f:\docker-desktop.tar

    wsl --export docker-desktop-data f:\docker-desktop-data.tar

    f:\ 是要导出文件的存放位置,这个可以根据自己的实际情况改\

     执行上面2个命令会看到有2个文件生成。

    注销现有的WSL系统

    上面导出完成后,就需要注销掉之前的,使用以下的命令注销

    wsl --unregister docker-desktop

    wsl --unregister docker-desktop-data

     这两个命令不需要修改,直接执行就好了、

    执行后可以看到原来的文件夹为空了

     可以使用上面查询状态的命令查看一下是否注销了,没有那两条docker开头的内容就表示注销掉了

    重新创建WSL系统

    上面注销掉之后,就可以在我们指定的位置重新创建了,这个新位置就是我们想要真正存放镜像的位置了

    我这里打算将这个位置放在D盘的docker文件夹,我D盘空间还是很大的。可以先提前创建好文件夹

    创2个文件夹docker-desktop docker-desktop-data

     

    命令的话就需要这样写

    wsl --import docker-desktop D:\docker\docker-desktop z:\docker-desktop.tar --version 2

    wsl --import docker-desktop-data D:\docker\docker-desktop-data z:\docker-desktop-data.tar --version 2

    需要注意的是这两个需要放在不同的文件夹里,不然会执行不成功

     

    执行完成后,可以看到D盘的文件夹中个多了一个磁盘文件

     

    到这docker的存放目录就修改完成了,可以启动我们的docker了

    怎么检查改完后是否生效

    可以观察磁盘文件的大小是否变大了

    这是我刚迁移完后的磁盘文件的大小,有800+

    这是我随便拉了一个镜像后的文件大小,有1G多了

    这样就表示我们修改存放位置成功了

    参考:https://baijiahao.baidu.com/s?id=1711473201375899625&wfr=spider&for=pc

    https://zhuanlan.zhihu.com/p/411618091

    docker下载nginx

    docker pull nginx

     docker run -d --name nginx -p 8001:80 nginx 

     
  • 相关阅读:
    第二章、Redis入门介绍
    最高的牛
    增减序列
    激光炸弹
    分形之城
    约数之和
    奇怪的汉诺塔
    费解的开关
    递归实现排列型枚举
    递归实现组合型枚举
  • 原文地址:https://www.cnblogs.com/youxin/p/16209608.html
Copyright © 2020-2023  润新知