1.首先确保手机有一个netcore项目,或者直接创建一个abp项目,可以启动发布就行。
2.添加Dockerfile文件配置部署文件等。
Dockerfile文件在项目根目录添加
# 使用基础镜像
FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build-env
# 设置工作目录
WORKDIR /app
# 复制项目文件到工作目录
COPY *.csproj ./
RUN dotnet restore
# 复制所有文件到工作目录
COPY . ./
# 构建项目
RUN dotnet publish -c Release -o out
# 使用运行时镜像
FROM mcr.microsoft.com/dotnet/aspnet:6.0
WORKDIR /app
COPY --from=build-env /app/out .
# 设置环境变量
ENV ASPNETCORE_URLS=http://*:80
# 暴露端口
EXPOSE 443
# 启动应用程序
ENTRYPOINT ["dotnet", "YourProjectName.dll"]
每个步骤的解释:
1. 使用.NET Core SDK作为基础镜像。
2. 将工作目录设置为/app。
3. 复制项目文件(.csproj)到容器中,并执行dotnet restore以还原依赖项。
4. 复制所有源代码到容器中。
5. 构建应用程序,并将发布的输出放置在/app/out目录中。
6. 使用.NET Core ASP.NET运行时作为基础镜像。
7. 将工作目录设置为/app。
8. 从之前的构建阶段复制发布的输出到容器中。
9. 暴露ABP应用程序监听的端口(默认为443)。
10. 设置容器的入口点为dotnet NonWasteCity.HttpApi.Host.dll。
然后使用命令部署项目:
```csharp
docker build -t imagename .
imagename 小写后面有个空格还有个.
部署完没有问题可以使用命令启动:
docker run imagename
或者可以使用交互式命令:
docker run -it imagename /bin/bash
3.如果要关联使用一些redis、mysql等,可以使用docker-compose.yml,同样放在项目根目录
version: '3'
services:
api:
build:
context: .
dockerfile: Dockerfile
ports:
- 5123:81
depends_on:
- redis
- mysql
environment:
- ConnectionStrings__Default=Server=mysql;Database=nonwastecity;User Id=root;Password=yyb270618
- Redis__ConnectionString=localhost:1234
redis:
image: redis:latest
ports:
- 1234:1234
mysql:
image: mysql:latest
ports:
- 3306:3306
environment:
- MYSQL_ROOT_PASSWORD=yyb270618
- MYSQL_DATABASE=nonwastecity
然后使用命令启动:
docker-compose up
停止命令:
docker-compose down
使用docker-compose部署就不用再另外使用DockerFile启动部署了。
4.redis相关的一些命令:
拉取redis镜像
RUN apt-get update && apt-get install -y redis-server
启动redis:
docker run -d -p 6379:6379 --name redis redis
--根据某一个镜像启动redis
docker run --name redis -d -p 6379:6379 6a2d3d520eff
进入 redis:
redis-cli -h 127.0.0.1 -p 6379
清空当前库缓存:
flushdb
清空整个redis缓存:
flushall
5.docker 命令:
docker查看某一个镜像
docker images | grep <image_name>
删除镜像
docker rmi -f <image_name>
6.linux命令:
查看文件:
vi or vim test.txt
点击a或者i进入编辑状态.
编辑完成后点击ESC键退出编辑状态。
最后敲:wq保存修改。
只是单纯看文件内容可以用
cat ./log.txt
tail命令可以实时查看文件,但有行数限制
tail -200f log.txt