如何在Windows系统上部署docker

上次在Windows系统上部署成功Ubuntu系统,这次准备在Windows上部署docker desktop应用

这个应用软件类似于虚拟机,可以在该应用软件上部署多个镜像容器。其最直观的表现就是可以借用Windows和Ubuntu终端来访问docker“模拟的系统”。

Docker简介

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。

一个完整的Docker有以下几个部分组成:

  1. 1.

    DockerClient客户端

  2. 2.

    Docker Daemon守护进程

  3. 3.

    Docker Image镜像

  4. 4.

    DockerContainer容器 

Docker部署

Docker部署强烈参考Windows Docker 安装 | 菜鸟教程,在此十分感谢

Docker Desktop安装

0.0

官方下载链接

Docker: Accelerated Container Application Development

docker 推出了不同系统支持的版本,这里我们下载支持Windows的docker desktop。

0.1

注意管理员安装后,需要重启电脑(注意保存资料)

重启后,稍等片刻弹出如下,点击接受,纯个人使用免费

0.2

默认选择自动配置,点击finish

0.3

选择登录或不登录,我这里选择不登录

0.4

如实填写,点击continue

0.5

0.5.1

安装完成后,会在Windows桌面出现一个Docker Desktop小图标

0.5.2

注意!!!

点击Docker Desktop,打开发现持续很长时间,这是因为Docker Desktop有两个依赖没有安装上

Docker Desktop依赖部署

Hyper-V启用

Hyper-V是Windows系统默认自带的虚拟机,如果没有Hyper-V,需要检查自己的系统是否完整

这里提供两种安装方式

第一种,命令行方式

0.0

找到powershell,鼠标右键以管理员身份运行

//PowerShell一般在自己的系统用户名目录下,找到

C:\Users\自己的系统用户名目录下\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Windows PowerShell

0.1

直接使用管理员打开PowerShell,输入如下命令,该命令用来启动Hyper-V

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All

 if(出现如下情况,表明没有启动Hyper-V,输入yes启动),需要重启,注意文件保存!!!

else if(出现如下情况,表明启动了Hyper-V,不需要任何操作,进行下一步)

第二种,窗口勾选方式

0.0

选择电脑桌面右下角,找到如下图标(或者是网络图标),在该图标上点击鼠标右键,打开网络和Internet设置

0.1

弹出如下窗口,点击网络和共享中心

0.2

弹出如下窗口,点击控制面板主页

0.3

弹出如下窗口,点击程序

0.3.1

注意!!!如果弹出的是如下两个窗口,点击查看方式,选中类别

 0.4

点击程序后,弹出如下窗口,点击启用或关闭Windows功能

0.5

弹出如下窗口,找到Hyper-V,左边的+全部展开,都勾选上,点击确定,弹出重启窗口,确定重启,重启后就会启用了。

WSL安装

安装WSL链接,强烈推荐参考,十分感谢

安装 WSL | Microsoft Learn

一、命令行安装

注意!!!默认安装Ubuntu的Windows子系统,如果需要安装其他子系统参考上方链接

0.0

右键管理员权限打开PowerShell,输入如下命令联网安装WSL,之后重启即可

wsl --install

二、手动安装

如果Windows系统更新被禁止或者系统不支持访问MicroSoft网络,或者Windows系统版本受支持过期等愿意,可以手动安装

旧版 WSL 的手动安装步骤 | Microsoft Learn

这里选择安装Ubuntu2204-221101.AppxBundle

0.0

右键安装或者鼠标双击安装

0.1

耐心等待安装完成即可

0.2

输入自定义用户名(除root和不要大写,root是根用户),然后按照提示输入密码,即安装上WSL

0.3

WSL安装成功后,Docker Desktop要想能用,还需要启用WSL,输入如下命令

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

//或者

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

//并设置默认WSL2。WSL有两个版本,WSL1和WSL2,注意!!!设置如下命令,WSL必须已经启动

 wsl --set-default-version 2

0.4

WSL安装之后,建议重启

Docker部署验证

检测Hyper-V状态

右键管理员权限打开PowerShell,输入如下命令

Get-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V

 检测WSL状态

打开自的Ubuntu,方法:从,左下角的放大镜,输入Ubuntu,即可看到

检测docker状态

双击桌面Docker Desktop,出现如下页面,恭喜启动成功

Docker使用

获取Base镜像

Docker是容器,镜像则是工具,获取镜像纳入容器里头,Docker就活了。

(注意这里的镜像是兼容Docker的镜像,并不是iso等格式镜像)

镜像链接:https://hub.docker.com/

查看镜像

检测Docker容器内是否存在镜像,Win+R,在运行窗口输入cmd,打开Windows终端(cmd),输入如下命令

docker images

如果是这种,表明容器内是空的,没有镜像

REPOSITORY:镜像的仓库源

TAG:镜像的标签(同一个仓库源可以有不同的标签,可以代表不同的镜像版本)

IMAGE ID:镜像的ID

CREATED:镜像创建时间

SIZE:镜像大小

0.1

获取镜像有两种方法

0.1.0

如果本地有docker镜像包,直接输入如下命令将镜像推入容器内

docker load -i ./镜像包

0.1.1

我没有,所以我需要联网下载,这里我使用Ubuntu镜像

输入如下命令,会联网下载Ubuntu22.04版本的镜像(如果想下载最新版镜像,不写版本号,直接docekr pull ubuntu即可)

docker pull ubuntu:22.04

docker images //查看是否下载成功

创建Base镜像容器

输入如下命令,来运行Ubuntu22.04镜像,创建一个容器,并命名,使用exec来进入容器(exec进入容器后,使用exit退出容器后,容器不会终止而是在后台运行)

docekr run -itd --name my_ubuntu22.04 ubuntu:22.04

docekr exec -it my_ubuntu22.04 /bin/bash

-i是交互式操作

-t是运行终端

-d是在后台运行

--name表示给ubuntu镜像创建的容器起一个名字,这里我给新创建的容器起名为my_ubuntu22.04

ubuntu:22.04是ubuntu仓库源+版本号的结合体,用来指定为哪一个镜像创建一个容器

查看容器

docker ps -a

CONTAINER ID:容器的ID

IMAGE:创建容器的镜像(一般是仓库源+版本号组成)

COMMAND:运行容器指定要运行的命令终端工具

CREATED:容器被创建的时间

STATUS:容器的状态

PORTS:端口(一般涉及到Web)

NAMES:容器的名字(可以通过--name自定义容器名字)

启动Base镜像容器

启动Base镜像容器有两种

0.0

输入run命令,创建一个新的容器并直接启动和进入容器(run命令会在镜像的基础上创建一个新的容器),没有--name,会自动创建一个容器名字

docker run -it my_ubuntu22.04 /bin/bash

0.1

输入start命令,启动一个已有的容器,不会直接进入容器(如果想直接进入容器,使用docker start -i <容器ID/容器名字>)

docker start <容器ID/容器名字>

进入已启动的Base镜像容器

进入已经启动的容器,一般是因为-d(后台运行)或者start不带-i的缘故,需要进入容器有两种方式

0.0

使用attach命令(退出后,容器会终止)

0.1

使用exec命令(exec命令进入容器,exit后,容器并不会终止,而是在后台继续运行)

退出/停止Base镜像容器

退出容器,直接输入exit即可,停止容器,使用stop即可

重启Base镜像容器

使用restart命令重启容器

导出Base镜像容器

使用export命令导出Base镜像容器到本地

docker export my_ubuntu22.04 > E:\docker-images\Ubuntu22.04.tar

//注意文件夹命名不能带空格,否则导出失败

导入Base镜像容器

0.0

使用import命令导入镜像(会创建一个新的镜像,容器并没有增加)

0.1

使用load命令导入

docker load -i <容器>

//需要注意的是,load导入镜像需要Dockerfile文件,Dockerfile后续在接着讲解

删除

删除容器,使用rm命令

删除镜像,直接打开Docker Desktop应用界面, 点击垃圾桶删除即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/670041.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【数据结构与算法】之排序系列-20240205

这里写目录标题 一、1346. 检查整数及其两倍数是否存在二、1365. 有多少小于当前数字的数字三、1460. 通过翻转子数组使两个数组相等四、1491. 去掉最低工资和最高工资后的工资平均值五、1502. 判断能否形成等差数列 一、1346. 检查整数及其两倍数是否存在 简单 给你一个整数数…

关于RabbitMQ面试题汇总

什么是消息队列&#xff1f;消息队列有什么用&#xff1f; 消息队列是一种在应用程序之间传递消息的通信机制。它是一种典型的生产者-消费者模型&#xff0c;其中生产者负责生成消息并将其发送到队列中&#xff0c;而消费者则从队列中获取消息并进行处理。消息队列的主要目的是…

Vivado-IP核

Vivado-IP核 主程序 timescale 1ns / 1ps ////module ip_clk_wiz(input sys_clk,input sys_rst_n,output clk_out1,output clk_out2,output clk_out3,output clk_out4,output locked);clk_wiz_0 instance_name(// Clock out ports.clk_out1(clk_out1), // output clk_out…

数字孪生:智慧城市的核心技术与发展

一、引言 随着城市化进程的加速&#xff0c;智慧城市的概念和实践逐渐成为全球关注的焦点。智慧城市利用先进的信息通信技术&#xff0c;提升城市治理水平&#xff0c;改善市民的生活质量。而数字孪生作为智慧城市的核心技术&#xff0c;为城市管理、规划、应急响应等方面提供…

Django部署到服务器后无法获取到静态元素 The requested resource was not found on this server

问题描述 写了一个Django项目&#xff0c;部署到云主机后&#xff0c;访问发现图片无法访问&#xff0c;报错The requested resource was not found on this server 图片是一个词云图&#xff0c;根据爬虫爬取的信息生成的&#xff0c;根据爬取的信息会改变&#xff0c;所以没…

python_蓝桥杯刷题记录_笔记_全AC代码_入门5

前言 关于入门地刷题到现在就结束了。 题单目录 1.P1579 哥德巴赫猜想&#xff08;升级版&#xff09; 2.P1426 小鱼会有危险吗 1.P1579 哥德巴赫猜想&#xff08;升级版&#xff09; 一开始写的代码是三重循环&#xff0c;结果提交上去一堆地TLE&#xff0c;然后我就给减少…

无人零售模式下,“IoT+鸿蒙”实现零代码搭建自动售货机监控大屏的可能性摸索

前言 新零售模式下&#xff0c;对loT的探索与应用还在继续。 而数字时代&#xff0c;数字化转型在零售行业中蔓延&#xff0c;而对于新的消费方式的探索&#xff0c;也在如火如荼的进行中。于是&#xff0c;一种新零售的形式——无人零售逐渐形成概念。 如果说&#xff0c;人…

【教3妹学编程-算法题】1696. 跳跃游戏 VI

3妹&#xff1a;好冷啊&#xff0c; 冻得瑟瑟发抖啦 2哥 : 没想到都立春了还这么冷啊~ 3妹&#xff1a;暴雪、冻雨、大雨&#xff0c;这天气还让不让人活啦&#xff01;&#xff01;&#xff01; 2哥 :哎&#xff0c;好多人都滞留的高铁站了&#xff0c;没法回家了 3妹&#xf…

nvm报错解决:配置最新淘宝镜像源

nvm修改配置的淘宝镜像 问题&#xff1a; 原因&#xff1a;原先配置的淘宝镜像已经不被使用 修改&#xff1a; 找到\nvm\nvm\settings.txt文件&#xff0c;配置如下 node_mirror: https://npmmirror.com/mirrors/node/ npm_mirror: https://npmmirror.com/mirrors/npm/ 配置成…

Golang-Map有序输出——使用orderedmap库实现

前言 工作中遇到一个问题&#xff1a;需要导出一个MySQL表格&#xff0c;表格内容由sql查询得来。但现在发现&#xff0c;所导出的表格中&#xff0c;各列的顺序不确定。多次导出&#xff0c; 每一次的序列顺序也是不定的。 因此确定是后端&#xff0c;Map使用相关导致的问题。…

HarmonyOS 鸿蒙应用开发(九、还是蓝海,如何贡献第三方库)

快来共享第三方库吧&#xff0c;不但可以通过分享自己的成果&#xff0c;可以获得来自全球开发者的技术反馈和建议&#xff0c;提升自身技术能力&#xff0c;还有助于提高个人或团队在开源社区中的知名度和影响力。在流量时代和粉丝经济时代&#xff0c;获得曝光度和流量密码。…

(已解决)vueQQ邮箱注册发送验证码前端设计,如何发送验证码设计倒计时

我们之前已经通过前端测试成功完成qq邮箱动态验证码发送&#xff08;未使用redis&#xff0c;我准备自己了解完后&#xff0c;后期有时间补上&#xff09; 衔接文章&#xff1a; 1&#xff1a; spingboot 后端发送QQ邮箱验证码 2&#xff1a; 这段代码建设图形化界面 <di…

CentOS7搭建k8s-v1.28.6集群详情

文章目录 1.灌装集群节点操作系统1.1 设置hosts1.2 设置nameserver1.3 关闭防火墙1.4 关闭Selinux1.5 关闭Swap分区1.6 时间同步1.7 调整内核参数1.8 系统内核升级 2.安装Docker2.1 卸载旧Docker2.2 配置Docker软件源2.3 安装Docker 3.部署Kubernets集群3.1 设置 K8s 软件源3.2…

2024.1.26力扣每日一题——边权重均等查询

2024.1.26 题目来源我的题解方法一 使用dfs对每一组查询都求最近公共祖先&#xff08;会超时&#xff0c;通不过&#xff09;方法二 不需要构建图&#xff0c;直接在原始数组上进行求最大公共祖先的操作。 题目来源 力扣每日一题&#xff1b;题序&#xff1a;2846 我的题解 …

Python绘制随机游走图

Python绘制随机游走图 文章目录 Python绘制随机游走图随机游走图随机游走图的意义Python实现随机游走图Python随机游走图案例random_walk.pymain.py运行结果图结果一结果二结果三结果四结果五 总结 随机游走图 随机游走图通常指的是一种图论中的模型&#xff0c;其中节点在图中…

基于BiLSTM-CRF模型的分词、词性标注、信息抽取任务的详解,侧重模型推导细化以及LAC分词实践

基于BiLSTM-CRF模型的分词、词性标注、信息抽取任务的详解,侧重模型推导细化以及LAC分词实践 1.GRU简介 GRU(Gate Recurrent Unit)门控循环单元,是[循环神经网络](RNN)的变种种,与 LSTM 类似通过门控单元解决 RNN 中不能长期记忆和反向传播中的梯度等问题。与 LSTM 相…

华为视频监控接入到视频监控平台 (华为网路监控摄像机IPC和华为视频节点设备VCN)

目 录 一、设备介绍 1.1 华为VCN介绍 1.2 AS-V1000视频监控平台介绍 1.3 平台服务器配置说明 二、安装、配置HW_IVS软件 2.1下载安装HW_IVS软件 2.2登录HW_IVS 2.3共享到外域 三、配置华为外域参数 3.1 PCG模块设置 3.2通信协议GBT28181配置 3.3传…

netty-websocket扩展协议及token鉴权补充

文章源码&#xff1a;gitee 源码部分可以看上一篇文章中的源码分析netty-websocket 鉴权token及统一请求和响应头&#xff08;鉴权控制器&#xff09; 最近刚好没事&#xff0c;看到有朋友说自定义协议好搞&#xff0c;我就想了想&#xff0c;发现上面那种方式实现确实麻烦&…

远程桌面使用Pr剪视频

要远程访问高性能计算机并使用 Pr&#xff08;Adobe Premiere Pro&#xff09;进行视频编辑&#xff0c;您可以考虑使用流畅且响应迅速的远程桌面软件。您可以考虑以下选项。 Splashtop Business Access Performance Splashtop 以其高性能远程桌面解决方案而闻名&#xff0c;…

HarmonyOS远程真机调试方法

生成密钥库文件 打开DevEco Studio&#xff0c;点击菜单栏上的build&#xff0c; 填一些信息点击&#xff0c;没有key的话点击new一个新的key。 生成profile文件 AppGallery Connect (huawei.com) 进入该链接网站&#xff0c;点击用户与访问将刚生成的csr证书提交上去其中需…