部署.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或名称] 删除镜像(关联到的运行的容器,需要删除容器后,才能删除)