Windows系统下安装Docker并实现项目的部署发布


已实践,待更新!

Windows电脑安装docker

第一步确定windows版本:
在这里插入图片描述

Docker支持在mac、windows、linux上安装。但是在windows系统中Docker目前仅有win10专业版和企业版的安装包。

不同版本下载地址:

Win10专业版下载

Win10专业版下载地址,专业版点击下载,下载后运行exe即安装完成
在这里插入图片描述
Docker 有专门的 Win10 专业版系统的安装包,需要开启 Hyper-V,请检查是否开启

在这里插入图片描述
默认安装路径是c盘,如果不想让c盘爆炸请往下看。

默认为c盘,为节省c盘空间,修改存放位置

其实docker只是一个外壳,本质上还是借助与windows平台的hyper-v创建虚拟机,所有pull到本地的image都会存放在虚拟机中(C:\Users\Public\Documents\Hyper-V\Virtual hard disks),要改变路径的话只需在hyper-v管理器里设置虚拟硬盘位置就可以了。操作如下:

打开Hyper-V管理器
在这里插入图片描述
分别操作这两个:
在这里插入图片描述
Hyper-V设置:
在这里插入图片描述
DockerDesktopVM设置
在这里插入图片描述
设置DockerDesktop
右键小图标选择Setting
在这里插入图片描述

在这里插入图片描述
到此就完成了,总结在一张图就是:
在这里插入图片描述

win7/win8/win10家庭版下载

win7/win8/win10家庭版需要通过docker toolbox来安装。注:国内可以使用 阿里云镜像来下载,点击即可家庭版点击下载
安装比较简单,双击运行,点下一步即可,可以勾选自己需要的组件:
在这里插入图片描述
注:docker toolbox 是一个工具集,它主要包含以下一些内容

Docker CLI - 客户端,用来运行 docker 引擎创建镜像和容器。
Docker Machine - 可以让你在 Windows 的命令行中运行 docker 引擎命令。
Docker Compose - 用来运行 docker-compose 命令。
Kitematic - 这是 Docker 的 GUI 版本。
Docker QuickStart shell - 这是一个已经配置好Docker的命令行环境。
Oracle VM Virtualbox - 虚拟机。

下载完成之后直接点击安装,安装成功后,桌边会出现三个图标,如下图所示:
在这里插入图片描述
点击 Docker QuickStart 图标来启动 Docker Toolbox 终端
如果系统显示 User Account Control 窗口来运行 VirtualBox 修改你的电脑,选择 Yes
在这里插入图片描述
$ 符号那你可以输入以下命令来执行

$ docker run hello-world
 Unable to find image 'hello-world:latest' locally
 Pulling repository hello-world
 91c95931e552: Download complete
 a8219747be10: Download complete
 Status: Downloaded newer image for hello-world:latest
 Hello from Docker.
 This message shows that your installation appears to be working correctly.

 To generate this message, Docker took the following steps:
  1. The Docker Engine CLI client contacted the Docker Engine daemon.
  2. The Docker Engine daemon pulled the "hello-world" image from the Docker Hub.
     (Assuming it was not already locally available.)
  3. The Docker Engine daemon created a new container from that image which runs the
     executable that produces the output you are currently reading.
  4. The Docker Engine daemon streamed that output to the Docker Engine CLI client, which sent it
     to your terminal.

 To try something more ambitious, you can run an Ubuntu container with:
  $ docker run -it ubuntu bash

 For more examples and ideas, visit:
  https://docs.docker.com/userguide/

https://blog.csdn.net/weixin_39494923/article/details/85856098 (安装windowsdocker环境及部署)
https://www.csdn.net/gather_22/MtjaUgxsODM3MjQtYmxvZwO0O0OO0O0O.html (windows下安装做迁移)
https://blog.csdn.net/qq_37131345/article/details/106215562 (windows下安装做迁移)
https://www.cnblogs.com/pandaly/p/12929187.html (镜像加速器)https://lmksjhfd.mirror.aliyuncs.com
https://blog.csdn.net/qq_22313643/article/details/82901296 (解决不能连接本地的问题 DESK_HOST)
https://blog.csdn.net/lvyuan1234/article/details/69255944

修改配置docker镜像

首先找自己的加速器地址,每个人都不一样的,操作如下:

加速器地址

点击阿里云官网
点击控制台:
在这里插入图片描述

登录,没有账号的注册一个
在这里插入图片描述
搜索镜像
在这里插入图片描述
点击容器镜像服务,就有了自己的加速器,每个人的都不一样。。。
在这里插入图片描述

配置Docker镜像

右键小图标,选择Setting:在这里插入图片描述
配置Docker Engine即可
在这里插入图片描述

构建打包应用实现部署

1)使用docker-maven-plugin

docker-maven-plugin 插件默认连接本地 Docker 地址为:localhost:2375,所以我们需要先设置下环境变量。(不设置会报错的:Maven构建Docker镜像报错Connect to localhost:2375 [localhost/127.0.0.1, localhost/0:0:0:0:0:0:0:1] failed:)
三种方式:

  1. docker小图标打开Setting在这里插入图片描述

  2. DOCKER_HOST=tcp://:2375 其中:改为你上传的服务ip,本地就写127.0.0.1
    给你个链接,哈哈

  3. 注意:如果没有设置 DOCKER_HOST 环境变量,可以命令行显示指定 DOCKER_HOST 来执行,如我本机指定 DOCKER_HOST:DOCKER_HOST=unix:///var/run/docker.sock mvn clean install docker:build。
    打包时maven的pom文件

<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
<!--				configuration 自己加的-->
				<configuration>
					<!-- 指定程序入口 (需要注意的地方)-->
					<mainClass>com.example.myprojectspringboot.MyprojectSpringbootApplication</mainClass>
				</configuration>
				<executions>
				<execution>
				<goals>
					<goal>repackage</goal>
				</goals>
				</execution>
				</executions>
			</plugin>
			<!-- 添加docker-maven插件 -->
			<plugin>
				<groupId>com.spotify</groupId>
				<artifactId>docker-maven-plugin</artifactId>
				<version>0.4.13</version>
				<configuration>
					<imageName>${project.artifactId}:${project.version}</imageName>
					<baseImage>java</baseImage>
					<entryPoint>["java", "-jar", "/${project.build.finalName}.jar"]</entryPoint>
					<!--覆盖已存在的标签 镜像-->
					<forceTags>true</forceTags>
					<resources>
						<resource>
							<targetPath>/</targetPath>
							<directory>${project.build.directory}</directory>
							<include>${project.build.finalName}.jar</include>
						</resource>
					</resources>
				</configuration>
			</plugin>

		</plugins>
	</build>

接下来命令行进入项目的文件夹(DockerDeskTop有自己的工具PowerSheel):
D:\myself\myselfFiles\project\myproject-springboot

 <build>
        <plugins>
            <plugin>
                <groupId>com.spotify</groupId>
                <artifactId>docker-maven-plugin</artifactId>
                <version>0.4.13</version>
                <configuration>
                   <forceTags>true</forceTags>    <!--覆盖相同标签镜像-->
                    <imageName>my/eureka:0.0.1</imageName>  <!--指定镜像名称 仓库/镜像名:标签-->
                    <baseImage>lwieske/java-8</baseImage>    <!--指定基础镜像,相当于dockerFile中的FROM<image> -->
                    <dockerHost>http://192.168.10.72:2375</dockerHost>  <!-- 指定仓库地址 -->
                    <entryPoint>["java","-jar","/${project.build.finalName}.jar"]</entryPoint> <!-- 容器启动执行的命令,相当于dockerFile的ENTRYPOINT -->
                    <resources>
                        <resource>                                             <!-- 指定资源文件 -->
                            <targetPath>/</targetPath>                         <!-- 指定要复制的目录路径,这里是当前目录 -->
                            <directory>${project.build.directory}</directory>  <!-- 指定要复制的根目录,这里是target目录 -->
                            <include>${project.build.finalName}.jar</include>  <!-- 指定需要拷贝的文件,这里指最后生成的jar包 -->
                        </resource>
                    </resources>
                </configuration>
            </plugin>
        </plugins>
    </build>

使用maven构建镜像并push到私有仓库
执行命令打包到本地镜像

mvn clean package docker:build -Dmaven.test.skip=true 
    注:(-Dmaven.test.skip=true不执行测试用例,也不编译测试用例类)
       (-DskipTests,不执行测试用例,但编译测试用例类生成相应的class文件至target/test-classes下)     

查看镜像是否成功:

docker images

运行镜像

 docker run -d -p 8090:8090 myproject-springboot:0.0.1-SNAPSHOT

备注:-p表示端口映射,冒号左边为docker容器外的端口号,右边为容器内的端口号,-d表示后台运行

至此结束,访问应用
http://localhost:8090/user/first
加上项目请求路径

2)使用DockerFile构建部署

最好使用dockerfile构建,学过docker就知道为啥了。太困了,后期再补吧。
博客
DockerFile指令详解
博客
可以了解一下Harbor私有仓库,毕竟现在已经是云原生时代了,go、docker、kubernets未来可期呀!

3)当然也可以在idea中实现

博客

备注一些命令

构建其他服务并打包(依赖,以及配置正确是关键)
1)如果依赖其它服务或者module查看是否依赖是否正确,否则会报 Could not resolve dependencies for project
解决:优先在最外层项目上打包 执行clean install -Dmaven.test.skip=true 把依赖打到本地仓库
2)继续执行2的打包镜像操作

其中docker常用命令:

1.查看所有镜像:#docker images
2.查看所有容器(包含状态):#docker ps -a
3.查看正在启动的容器: #docker ps
4.终止一个运行中的容器 #docker stop $CONTAINER_ID
5.启动一个容器:#docker start $CONTAINER_ID
6.重启一个容器:#docker restart $CONTAINER_ID
7.查看Container的映射的端口 #docker port < container name or id>
8.查看Container的IP地址 #docker inspect < container name or id>| grep IPAddress
9.查看容器运行日志:#docker logs < container name or id>
10.实时查看docker容器日志:#docker logs -f -t --tail 行数 < container name or id>
11.删除docker容器:docker rmi < container name or id>
注意点:
1. 删除前需要保证容器是停止的 stop
2. 需要注意删除镜像和容器的命令不一样。 docker rmi < container name or id> ,其中 容器(rm) 和 镜像(rmi)
3. 顺序需要先删除容器
12.如果想要把镜像存出到本地文件,可以使用docker save命令#docker save –o /data/testimage.tar testimage:latest (以testimage镜像名称为例)
13.从文件载入镜像可以使用Docker load命令# docker load < testimage.tar
14 进入容器#docker exec -it < container name or id> /bin/bash

参考:https://blog.csdn.net/weixin_39494923/article/details/85856098

推荐

https://blog.csdn.net/JENREY/article/details/84493812 dockerToolbox和docker for windows的区别
https://blog.csdn.net/tina_ttl/article/details/51372604 不一样的安装教程
https://blog.csdn.net/novanova2009/article/details/86529949 docker desktop使用入门

开启Hyper-V之后,电脑上边的VMware就不能启动了。若想再启动VMware参考:
https://www.cnblogs.com/enddark/p/13554194.html


此处我仅仅执行了四步:
关闭了HV 主机服务,
取消Hyper-V的勾选,
执行了bcdedit /set hypervisorlaunchtype off命令(cmd管理员执行,使用powershell执行会失败)
重启计算机

### 回答1: 在Windows安装部署Docker的步骤如下: 1. 首先,确保你的Windows系统是64位的,并且支持虚拟化技术(如Intel VT-x或AMD-V)。 2. 下载并安装Docker Desktop for Windows。这是一个包含Docker引擎、Docker CLI和Docker Compose的一体化安装包。 3. 安装完成后,启动Docker Desktop。在系统托盘中,你应该能看到Docker图标。 4. 点击Docker图标,选择“Settings”菜单。在“General”选项卡中,勾选“Expose daemon on tcp://localhost:2375 without TLS”选项。这将允许你使用Docker CLI与Docker引擎通信。 5. 在“Shared Drives”选项卡中,选择需要共享的本地磁盘。这将允许你在容器中访问本地文件系统。 6. 点击“Apply & Restart”按钮,保存设置并重启Docker Desktop。 7. 现在,你可以使用Docker CLI来管理容器和镜像了。例如,你可以使用以下命令拉取一个Ubuntu镜像: docker pull ubuntu 8. 你还可以使用Docker Compose来定义和管理多个容器的组合。例如,你可以创建一个docker-compose.yml文件,定义一个Web应用程序和一个数据库容器: version: '3' services: web: build: . ports: - "500:500" db: image: postgres 9. 在docker-compose.yml文件所在的目录中,运行以下命令启动应用程序: docker-compose up 以上就是在Windows安装部署Docker的基本步骤。当然,具体的操作还需要根据实际情况进行调整。 ### 回答2: 在windows安装和使用docker有多种方法。下面是一种常见的安装部署过程: 1. 在windows系统上启用Hyper-V虚拟化功能,可以在“控制面板” -> “程序” -> “Windows功能”中找到它。 2. 下载并安装适合您的系统版本的Docker Desktop for Windows。在安装期间,Docker会自动下载并安装所需的组件,包括Docker引擎、Docker CLI、Docker Compose等。 3. 安装完成后,在桌面上会出现Docker图标。单击它,启动Docker Desktop。在系统托盘区也会出现Docker图标。单击它,可以查看Docker状态及相关信息。 4. 在Docker Desktop中,可以选择使用Linux或Windows容器,分别创建和运行容器。对于Windows容器,需要先启用“Windows容器特性”。 5. 在Docker中,常用的镜像和容器来源包括Docker官方仓库(Docker Hub)、私有镜像库(如阿里云、腾讯云等)、本地镜像库和本地容器等。可以通过Docker提供的命令行工具(Docker CLI)或Docker Compose进行管理和部署。 6. 在使用Docker时,需要注意应用程序的适配性、安全性和性能等方面。例如,需要针对不同的应用场景选择适合的镜像和容器,对容器进行网络、存储、CPU等资源配置,调整容器间通信和安全策略等。 总之,使用Docker可以轻松实现跨平台、快速部署和运行的应用程序,提高开发和运维效率。但需要根据具体情况进行安装和配置,避免出现不必要的问题。 ### 回答3: Docker是一款轻量级的容器化应用程序,可以让开发人员编写、部署和运行应用程序。在Windows操作系统上,我们可以使用Docker Desktop来安装部署Docker。 1. 下载Docker Desktop 首先,我们需要下载并安装Docker Desktop,可在官方网站上下载:https://docs.docker.com/docker-for-windows/install/ 2. 安装Docker Desktop 下载后打开安装包,按照提示进行安装。 3. 配置Docker Desktop 安装完成后,启动Docker Desktop。启动后,右下角的图标会变成绿色,表示Docker已经成功启动。然后打开Docker设置,选择“General”,并启用“Expose daemon on tcp://localhost:2375 without TLS”。这使得我们可以从容器外部访问Docker守护程序。然后选择“Resources”,并提高“Memory”和“CPU”资源配额以提高容器性能。 4. 启动容器 现在我们已经准备好启动容器了。首先,使用Docker命令行工具,从Docker仓库中下载需要的镜像。比如,我们可以从Docker Hub上下载一个nodejs镜像:`docker pull node` 下载完成后,我们可以使用以下命令在该镜像中启动一个容器: `docker run -it --rm --name my-node-app -p 9000:8080 node bash` 这个命令允许你进入到nodejs容器的bash终端,并将容器暴露在本地主机9000端口。当我们退出终端并关闭容器时,容器将被删除。 5. 容器的管理 可以使用以下命令管理容器: - 列出正在运行的容器:`docker ps` - 列出所有容器:`docker ps -a` - 启动容器:`docker start [容器ID]` - 停止容器:`docker stop [容器ID]` - 删除容器:`docker rm [容器ID]` 6. 容器的发布 我们可以使用`docker push`命令将我们的镜像上传到Docker Hub上。这样,其他人就可以从Docker Hub上下载和使用该镜像了。 以上就是在Windows安装部署Docker的基本流程。通过使用Docker,开发人员可以轻松地编写、部署和运行他们的应用程序,从而加速应用程序的开发和部署过程。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值