如何在Windows系统上部署docker

凢曐 2024-06-14 14:37:02 阅读 97

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

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

Docker简介

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

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

1.

DockerClient客户端

2.

Docker Daemon守护进程

3.

Docker Image镜像

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退出容器后,容器不会终止而是在后台运行)

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

docker 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应用界面, 点击垃圾桶删除即可



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。