前言
最开始的时候,我们一般都是通过Apache或者直接运行jar包来启动java项目,后面逐渐开始有人发现容器的好处,都改用docker来运行项目,这样不光版本发布简单,也方便统一运行环境,方便移植。它的好处这里就不做详细介绍了,需要的可自行百度。今天就是教大家怎样在自己的windows电脑上也安装上docker并运行项目
简单介绍
Docker是一个开源的平台 ,用于开发、交付和运行应用程序。它能够在Windows,macOS,Linux计算机上运行,并将某一应用程序及其依赖项打包至一个容器中,这些容器可以在任何支持Docker的环境中运行。容器彼此隔离,但可以通过特定的通道相互传递信息
准备工作
一 环境准备
Docker某些功能需要依赖Linux内核,所以Docker一般都是运行在Linux环境上;要想在windows上正常安装运行docker,需要通过windows上的虚拟化技术来实现。
1、启用虚拟化支持
打开控制面板 -> 程序 -> 启用或关闭Windows功能 -> 勾选 【适用于Linux 的 Windows 子系统】【虚拟机平台】-> 确定
配置成功后,需要重启电脑。
重启后,打开任务管理器,选择性能,如果虚拟化显示已启用,说明配置成功了
2、下载安装Linux 内核更新包
按个人实际情况下载
–>链接
下载下来后正常安装完成即可
二 下载安装Docker Desktop
可以选择从官网下载,但是国内网络一般情况下是访问不了docker的官网的,所以只有另辟蹊径了。
注:因为安装过程默认是安装在C盘,这样后续下载镜像就会非常占用空间,所以在这之前,建议先使用mklink的方式创建软连接。
在安装Docker前,在你想自定义的磁盘中,创建相应的文件夹,比如 D:\Docker,使用 mklink /j “原文件夹路径” “目标文件夹路径” 进行软连接的创建;
mklink /j “C:\Program Files\Docker” “D:\Docker”
下载下来后,双击打开,点击ok自动安装
安装成功后打开长这样
三、创建docker的个人镜像仓库
怎么搭建Nexus可以参考另外一篇博客,这里讲一下在nexus上创建docker镜像仓库
1、管理员登录搭建好的Nexus,选择仓库,点击创建
2、点击docker(hosted)
3、设置仓库名,设置启动http端口,比如9999,勾选允许匿名pull权限,然后点击【Create Repository】开始创建docker的镜像仓库
4、创建成功后,还需要激活docker,如下点击操作
点击后 右边激活列表就会出现Docker Bearer Token Realms,最后点击 Save
四、配置Docker镜像仓库
由于网络问题,需要配置一下镜像加速器,这里以阿里云的为例。
1、登录阿里云获取镜像加速器地址
2、打开Docker Desktop 设置项,配置镜像仓库地址
但是最近国内很多加速器都没法用了,所以多准备了几个,都配置上;
配置的个人仓库地址 一定要用ip地址,不能用127.0.0.1,切记 切记 切记
"registry-mirrors": [
"https://xxx.mirror.aliyuncs.com",
"https://hub.uuuadc.top",
"https://docker.anyhub.us.kg",
"https://dockerhub.jobcher.com",
"https://dockerhub.icu",
"https://docker.ckyl.me",
"https://docker.awsl9527.cn",
"https://dockerproxy.com",
"https://docker.mirrors.ustc.edu.cn",
"https://docker.nju.edu.cn"
],
// 个人仓库地址,nexus地址加上 docker仓库端口号
"insecure-registries": [
"192.168.1.10:9999"
],
最后点击 【Apply & Restart】 等待docker自动配置并重启
查看是否配置成功 运行cmd命令 docker info
3、下载镜像
配置成功后返回到首页运行界面上的命令
能成功下载大概就是这个样子,最后浏览器打开 localhost:80 就能看到刚下载并运行的项目镜像了。
4、上传镜像至个人仓库
以上面下载的docker/getting-started镜像为例
①先查看已有的镜像
docker images
②给镜像打上标记
docker tag + 镜像名:tag + ip:docker镜像仓库端口 + 仓库名 + 镜像名:[自定义tag]
docker tag docker/getting-started 192.168.1.10:9999/docker-leezijin/docker/getting-started:person1.0
③登录个人仓库
docker login 192.168.1.10:9999 -u 账户 -p 密码
如果上面没有在docker配置里配置个人仓库地址【insecure-registries】,登录的时候就会报错,要求使用https
④push镜像至仓库
docker push 192.168.1.10:9999/docker-leezijin/docker/getting-started:person1.0
能看到镜像已上传至仓库
⑤下载刚上传的镜像
docker pull 192.168.1.10:9999/docker-leezijin/docker/getting-started:person1.0