部署.net 项目到docker

1.环境安装

$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2

添加包源

sudo yum-config-manager 
   --add-repo 
   https://download.docker.com/linux/centos/docker-ce.repo

开始安装 docker-ce

sudo yum install docker-ce docker-ce-cli containerd.io

安装完成,输入

docker --version

一些命令
1.dockerfile
1.

2.dockerfile 内容:

FROM microsoft/dotnet:2.2-sdk #这是第一个指令,必须是 FROM 这里指定基础构建镜像 WORKDIR /app #工作目录,即程序运行根目录

COPY *.csproj ./ #复制文件到容器中 RUN dotnet restore #下载项目依赖项

COPY . ./ #将剩余文件复制到容器中

RUN dotnet publish "Deploy.Linux.csproj" -c Release -o /app #发布容器中的项目到 容器中 /app 目录

ENTRYPOINT ["dotnet", "Deploy.Linux.dll"] #运行镜像入口命令和可执行文件名称

如:

FROM mcr.microsoft.com/dotnet/core/aspnet:3.1

COPY app/bin/Release/netcoreapp3.1/publish/ app/

ENTRYPOINT ["dotnet", "app/myapp.dll"]

3.根据dockerfile生成镜像

sudo docker build -t demo .

4.一些命令

docker images  查看所有镜像

docker ps  查看运行中的容器

docker ps -a 查看所有容器

docker create [镜像id或名称]  创建容器

docker create [镜像id或名称]  --name   创建容器,给容器命名

docker start [容器id或名称]   运行容器

docker run [容器id或名称]  创建容器,并运行容器 (eg:docker run  -it --rm [镜像id或名称] -p 80:80)

docker stop [容器id或名称]   停止容器

docker rm [容器id或名称]  删除容器(运行中的容器要停止后才能删除)

docker rmi [镜像id或名称]  删除镜像(关联到的运行的容器,需要删除容器后,才能删除)

原文地址:https://www.cnblogs.com/Bruke/p/12484016.html