一、window版本:
参照地址:https://www.cnblogs.com/hr20-04-19/p/13906910.html
笔记如下:
安装
下载地址:https://get.daocloud.io/#install-docker-for-mac-windows
win10安装如下
win10以下安装如下
安装过程:直接下一步即可。
win7安装会出现“Docker Quickstart Terminal”无法使用的现象(参考文档:https://www.cnblogs.com/canger/p/9028723.html、https://blog.csdn.net/jiangbb8686/article/details/79831971)
出现 “Docker Quickstart Terminal”无法使用的现象实践:
点击“Docker Quickstart Terminal”出现“浏览”,然后找到Git安装下的“Git\bin\bash.exe”打开即可,打开后无需操作,如果没有安装好环境会自动下载
直到看到下面界面即可表示安装成功
创建docker
方式1:
启动Oracle VM VirtualBox
方式2:如同“发布”
发布
参照:https://www.cnblogs.com/shijunjie/p/10488603.html
1.将docker文件复制过去
2.执行创建
3. 运行docker(docker run -it -p 10101:10101 netcore)
3.查看分配IP
4.
相关环境的安装
安装mysql
1.查看指定版本
2.安装指定版本(最新版本指令:docker pull mysql:latest)
3.查看镜像是否安装成功
4.运行mysql镜像
docker run -p 本地主机端口号(由于本地存在mysql(3306),所以用3307):容器服务端口号 --name 容器名字 (-e 配置信息,一般初始化使用如下面的设置mysql账号密码) -d 镜像名字
5.连接信息(下面使用Navicat进行测试)
6.没有Navicat的建议下载一个,不使用Navicat的话,可以使用docker进行打开mysql
7.后续mysql使用,请参照相关使用文档,如果找不到合适文档可以查看(https://www.cnblogs.com/namejr/p/15269339.html)笔记
https://blog.csdn.net/jiangbb8686/article/details/79831971
AddBy 2022-02-19
二、Linux版本(本次实验用的是Ubuntu):
参照博客:https://www.cnblogs.com/kingsonfu/p/11576797.html?ivk_sa=1024320u (博客哪里使用yum,我这边想保持环境干净所以没有使用,但是思路明白就好)
1.安装docker
完成完毕界面
2.启动docker
sudo service docker start -- 启动
sudo service docker stop -- 停止
sudo service docker restart -- 重启
安装net6环境请前往官方地址(https://docs.microsoft.com/zh-cn/dotnet/core/install/linux-ubuntu),
一是因为可以查看可安装兼容的最新版本
二是请相信官方文档(作为一个不喜欢看官方文档的人来说是一个血的教训,折腾了好久,广州8度的天气,我愣是在电脑桌前连午睡都没事搞了一下午最终还是去看官方文档解决的)
如果出现安装“sudo apt-get install -y aspnetcore-runtime-6.0
”或者“sudo apt-get install -y dotnet-sdk-6.0
”失败的话,可以重启电脑试试
笔记:
先安装依赖(https://www.mono-project.com/download/stable/#download-lin),如要看详细信息,请前往原地址
我这边是(Ubuntu 20.04)
udo apt install gnupg ca-certificates sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF echo "deb https://download.mono-project.com/repo/ubuntu stable-focal main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list sudo apt update
sudo apt install mono-devel
将 Microsoft 包签名密钥添加到受信任密钥列表,并添加包存储库
wget https://packages.microsoft.com/config/ubuntu/21.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb
安装 SDK
sudo apt-get update; \
sudo apt-get install -y apt-transport-https && \
sudo apt-get update && \
sudo apt-get install -y dotnet-sdk-6.0
安装运行时
sudo apt-get update; \
sudo apt-get install -y apt-transport-https && \
sudo apt-get update && \
sudo apt-get install -y aspnetcore-runtime-6.0
安装SDK或者运行时失败:
尝试清除包列表
sudo dpkg --purge packages-microsoft-prod && sudo dpkg -i packages-microsoft-prod.deb
sudo apt-get update
然后,再次尝试安装 .NET。 如果这不起作用,可使用以下命令运行手动安装:
sudo apt-get install -y gpg
wget -O - https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor -o microsoft.asc.gpg
sudo mv microsoft.asc.gpg /etc/apt/trusted.gpg.d/
wget https://packages.microsoft.com/config/ubuntu/{os-version}/prod.list
sudo mv prod.list /etc/apt/sources.list.d/microsoft-prod.list
sudo chown root:root /etc/apt/trusted.gpg.d/microsoft.asc.gpg
sudo chown root:root /etc/apt/sources.list.d/microsoft-prod.list
sudo apt-get update; \
sudo apt-get install -y apt-transport-https && \
sudo apt-get update && \
sudo apt-get install -y {dotnet-package}
3.创建docker(参照:https://www.cnblogs.com/cplemom/p/11142857.html)
Addby 2022-04-03
将文件移动到linux方式:
在window上下载PuTTY(https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html),下载完成安装后,在安装目录(具有pscp.exe的界面)打开cmd,输入:pscp 文件路径 linux用户名@linux的IP地址:上传放置目录。例如:D:\PuTTY>pscp d:/Xshell/UploadData/Dockerfile namejr@192.168.0.105:/home/namejr/Desktop/
EndBy 2022-04-03
需将Dockerfile文件和网站发布代码复制到linux
Dockerfile
FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base FROM base AS final WORKDIR /website EXPOSE 80 COPY --from=publish /app/publish . ENTRYPOINT ["dotnet", "ncwebapi.dll"]
docker build -t ncwebapi website/ -- 创建镜像 如果建立下载出问题,可以使用“docker镜像加速”,例子:"https://www.runoob.com/docker/docker-mirror-acceleration.html"(亲测没用)
docker run --name ncwebapi -d -p 10101:80 -v website/ ncwebapi -- 运行镜像
ocker run --name testapp -d -p 8000:80 -v /www:/app testcore
--name指定容器名称
-d 指定容器后台运行
-p 指定外部8000端口映射到容器80端口
-v 绑定数据卷/www到容器内的/app (本地目录:容器内目录)本地目录必须为绝对路径testcore镜像名
4.启动网站
4.1使用控制台窗口进行驻留启动(不建议)
dotnet ncwebapi.dll --urls=http://*:10101 & -- ncwebapi.dll为项目dll,10101为端口;相当于window安装的“3. 运行docker(docker run -it -p 10101:10101 netcore)”步骤
4.2通过守护进程去使其不受关闭控制台、关机等因素印象(参照地址:https://blog.csdn.net/zhouzhangwen/article/details/121684407,如需查看详细信息,请往原地址)
sudo apt-get install supervisor -- 安装守护进程
-- 进入写守护进程配置文件(如果vi出现保存失败现象,请优先考虑权限是否足够,别问为什么,真的不是20分钟的折腾经验教训,不是、、、、、是吧)
cd /etc/supervisor/conf.d/
vi aptest.conf
配置文件(aptest.conf)内容:
[program:ncwebapi] #程序名称
command=dotnet ncwebapi.dll #要执行的命令 ncwebapi是程序名称
directory=/home/namejr/Desktop/website/ #命令执行的目录
environment=ASPNETCORE__ENVIRONMENT=Production #环境变量
user=root #进程执行的用户身份
stopsignal=INT
autostart=true #是否自动启动
autorestart=true #是否自动重启
startsecs=1 #自动重启间隔
stderr_logfile=/home/namejr/Desktop/website/log/apptest.err.log #标准错误日志
stdout_logfile=/home/namejr/Desktop/website/log/apptest.out.log #标准输出日志
重启后配置文件生效:
sudo supervisorctl shutdown && sudo supervisord -c /etc/supervisor/supervisord.conf #重新加载配置
sudo service supervisor stop #停止
sudo service supervisor start #启动
生效后可直接访问站
EndBy 2022-02-19
、、
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现