随手记一下工作笔记
文章目录
一.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 '部署完成'
编辑完保存 并运行它 (记得进入目录再运行它)
输入一下配置之后就完成了 可以看到已经运行了 这里端口去阿里云开一下 就可以正常连接了