.net服务通过docker发布并部署到centos服务器上--阿里镜像仓库的应用

随手记一下工作笔记


一.win10环境安装 docker

首先找到docker官网下载win10环境的docker应用程序docker win下载地址
在这里插入图片描述
可以看到这里有一个系统要求需要打开Hyper-v

win10打开Hyper-v

右键单击开始菜单
在这里插入图片描述
选择设置
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

docker安装

这个时候docker应该已经下载完成了
点击安装包安装
在这里插入图片描述
这里我使用网易有道词典翻译了一下大概是安装wsl2环境和创建桌面快捷方式
这里我没选wsl2 基本应用就行

在这里插入图片描述
等待安装完成
在这里插入图片描述
点击close关闭
在这里插入图片描述
双击打开它
在这里插入图片描述
协议条款
在这里插入图片描述
弹了一个wsl2不完整的框 这里我选择的cancel 取消掉
在这里插入图片描述
在这里插入图片描述
设置完之后保存重启

重启后有一些推荐提示之类的 关掉就行
在这里插入图片描述

这里点击start开始

在这里插入图片描述
这里我个人没什么配置的 全部nextstep 然后done 完成

配置完成后大概就这个界面 这个小鲸鱼绿了 就启动成功了
在这里插入图片描述

docker引擎配置 (抄作业)

我们经理给我的 看了一下 应该是一些加速配置

{

  "builder": {

    "gc": {

      "defaultKeepStorage": "20GB",

      "enabled": true

    }

  },

  "debug": false,

  "experimental": false,

  "features": {

    "buildkit": true

  },

  "insecure-registries": [],

  "registry-mirrors": [

    "https://registry.docker-cn.com"

  ]

}

在这里插入图片描述
复制粘贴进去就行 然后保存重启就可以关闭docker窗口了

随后打开cmd

输入可以查看docker版本号

docker -v

在这里插入图片描述
到此 win安装部分结束

docker一些命令

搜索镜像 (模糊搜索)
docker search 镜像名

查看本地镜像
docker images

查看所有容器
docker ps -a

启动一个或多个已经被停止的容器
docker start 容器ID/容器名称

重启容器
docker restart 容器ID/容器名称

停止一个运行中的容器
docker stop 容器ID/容器名称

杀掉一个运行中的容器
docker kill 容器ID/容器名称

删除一个已停止的容器
docker rm 容器ID/容器名称

删除一个运行中的容器
docker rm -f 容器ID/容器名称

查看本地镜像
在这里插入图片描述
镜像和容器有区别 镜像是一个文件 容器则是跑起来的东西

二.应用打包,这里用net为例

ps:经理后台用net写的 没办法 感觉重点在dockerfile文件上

在这里插入图片描述
在这里插入图片描述

dockerfile 配置 (net,抄作业)

经理备注得很简介明了

#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.

#Depending on the operating system of the host machines(s) that will build or run the containers, the image specified in the FROM statement may need to be changed.
#For more information, please see https://aka.ms/containercompat

#表示以microsoft/aspnetcore作为基础镜像进行新镜像的构建
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim  AS base

#指定工作目录为/app
WORKDIR /app

#将Dockerfile所在目录的所有文件拷贝到容器的app目录下,最前面的点代表Dockerfile所在的目录(注意点后面有空格)
COPY . /app

#端口,多个端口以空格分割
EXPOSE 80

#设置时间为中国上海
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
#可以看见我们项目叫FormManage
ENTRYPOINT ["dotnet", "FormManage.dll"]

然后我们去发布一下
在这里插入图片描述

来到发布文件夹可以看到dockerfile 文件

在这里插入图片描述
到这之后我们就可以登录阿里云了

阿里云-容器镜像服务

找不到容器镜像服务 直接搜索
在这里插入图片描述
这里我选了一个个人版的 ,由于已经建了 创建流程就没法一步一步贴出来了,大概要记住你阿里云镜像仓库密码 之后要用
在这里插入图片描述
创建完之后进入个人实例可以看见一些配置
在这里插入图片描述
创建一个命名空间 个人版只能创建三个 记住命名空间的名字 后面有用
在这里插入图片描述
填信息
在这里插入图片描述
选本地仓库,创建

在这里插入图片描述
创建完之后会看到这个

记一下这个用户名 有用
在这里插入图片描述
这个时候阿里的容器镜像也就配置完了 不要关页面 后面有些东西要用

将本地应用推到阿里容器镜像服务(抄作业)

这里经理丢了我三个文件 ,甩脸上的 不用有点说不过去
在这里插入图片描述
我是用的win系统 所以来看看 build-push-windows.bat 文件

大致内容如下 originArea 可以看一下 我用的 深圳的 所有 这里 originArea=registry.cn-shenzhen.aliyuncs.com 换其他的也行

然后下面的配置 去掉中括号 改成对应的内容就行

这里登陆名是刚刚上面讲到的 用户名 不是 登陆账号

@echo off
:: 自动构建本地镜像并推送到镜像仓库,适用windows系统
:: 采用阿里云镜像仓库

set  originArea=registry.cn-shenzhen.aliyuncs.com
set  originNameSpan=[命名空间]
set  originName=[仓库名]
set  originUser=[仓库登录名]
set  imageName=[镜像名]
set  dockerPwd=[阿里云镜像仓库密码]
set  buildPath=[发布文件根目录]

echo 'FormManage-镜像自动推送'

set/p oldVersion=请输入旧版本号:
set/p newVersion=请输入新版本号:

echo '删除原始镜像...'
docker image rm -f %imageName%
docker image rm -f %originArea%/%originNameSpan%/%originName%:%oldVersion%

echo '切换发布路径...'
cd %buildPath%

echo '构建新镜像...'
docker build -t %imageName% .

echo '登录阿里云仓库'
docker login --username=%originUser% %originArea%

echo '构建阿里云镜像'
docker tag %imageName% %originArea%/%originNameSpan%/%originName%:%newVersion%

echo '推送至阿里云镜像仓库'
docker push %originArea%/%originNameSpan%/%originName%:%newVersion%

echo '推送完成'

pause

复制粘贴 然后我们保存为bet文件 运行它

在这里插入图片描述
输入一下对应的东西 然后等他运行完 然后我们就可以看见阿里云镜像服务里面对应的仓库下面的镜像了

在这里插入图片描述
到此 该段结束

三. 在centos服务器上下载docker并部署我们在阿里云上面的镜像

因为centos有集成docker 所以

yum install docker

这个命令会直接安装

输入y安装

在这里插入图片描述

安装完成查看一下版本

在这里插入图片描述
然后我们找一个文件夹 创建一个sh文件

在这里插入图片描述
用工具打开这个文件并编辑它

还是抄作业(centos自动部署文件)

修改一下对应内容

#!/bin/bash
# 服务器部署用
# 自动拉取镜像到本地并运行,适用linux内核系统
# 采用阿里云镜像仓库
# 如果权限不足,请在所有命令前追加 sudo

originArea='registry.cn-shenzhen.aliyuncs.com'
originNameSpan='[命名空间]'
originName='[仓库名]'
originUser='[仓库登录名]'
imageName='[镜像名]'
dockerPwd='[阿里云镜像仓库密码]'
port='[程序端口]'

echo '登录镜像仓库(已登录请直接回车)'
docker login --username=${originUser} ${originArea}

read -p '请输入旧版本号:' oldVersion
read -p '请输入新版本号:' newVersion

echo '停止进程'
docker kill -s KILL ${imageName}

echo '删除旧版本容器'
docker rm ${imageName}

echo '删除旧版本镜像'
docker rmi -f ${originArea}/${originNameSpan}/${originName}:${oldVersion}

echo '拉取新版本镜像'
docker pull ${originArea}/${originNameSpan}/${originName}:${newVersion}

echo '运行新版本容器'
docker run -itd -p ${port}:80 --restart always --name=${imageName} ${originArea}/${originNameSpan}/${originName}:${newVersion}

docker ps

echo '部署完成'

在这里插入图片描述
编辑完保存 并运行它 (记得进入目录再运行它)

在这里插入图片描述
输入一下配置之后就完成了 可以看到已经运行了 这里端口去阿里云开一下 就可以正常连接了

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值