1. 程式人生 > 其它 >.netcore Dockerfile 部署

.netcore Dockerfile 部署

1.netcore3.1專案右擊,新增docker支援,生成Dockerfile檔案,可以設定為始終複製(生成或釋出時都會含有Dockerfile檔案)

2.修改Dockerfile檔案內容

#引入映象,低版本 docker 去掉ASbase
#換成別人做的阿里映象
#FROM registry.cn-hangzhou.aliyuncs.com/newbe36524
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base
#配置工作目錄 相當於cd
WORKDIR /app
#暴露容器埠,此埠與程式執行路徑一致,可
EXPOSE 80
#複製檔案到工作目錄
COPY . .
#ENV :配置系統環境變數,比如程式環境環境等在這裡配置(開發、預發、線上環境)
#這裡是配置程式執行埠 如果程式不使用預設的80埠這裡一定要設定(程式執行埠)
ENV ASPNETCORE_URLS http://+:80
#設定時間為中國上海
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
#設定debian系統
RUN sed -i 's#http://deb.debian.org#https://mirrors.aliyun.com#g' /etc/apt/sources.list
RUN apt-get update && apt-get install -y vim && apt-get install -y libgdiplus

#啟動程式
ENTRYPOINT ["dotnet", "Test_Docker.dll"]

3.netcore3.1專案釋出,跟普通專案一樣右擊發布到檔案系統

4.將netcore釋出的檔案通過ftp上傳至站點目錄,並將Dockerfile上傳至站點目錄,cd切換到站點目錄

6.生成netcore專案映象

docker build -t netcore-test . 建立映象
docker run -d -p 80:80 netcore-test 建立容器
docker run -itd --name netcore-test -p 8080:80 netcore-test 建立容器名稱,埠對應關係
docker stop strange_hypatia 停止容器
docker rm 容器id
docker rmi 映象id
docker rmi -f $(docker images -aq) 刪除所有映象