Asp.Net 코어 (Dockerfile를 사용, 리눅스 CentOS의 가상 머신) 도커에 공개

Asp.Net 코어 도커에 배포 무엇을 연습 (.NET 코어 2.2 기준)

첫째, 준비 작업 :

1. 버추얼에게 CentOS의 시스템을 사용하여 가상 머신을 생성하고 고정 표시기 및 정력을 설치

2 포트 (이후, 아래에 필수) 구성

 

창 간행물 (또한 리눅스에 게시 할 수있다)의 구성, 패키지 (내 경로는 리눅스 가상 머신에 출시 될 때 3. 웹 사이트에 게시 패키지 (기본 Asp.Net 코어 MVC 내가 사용)을 준비합니다 / 루트 / 루트 / DefaultHttp / 게시)

 4. 일반 패키지 (이전 버전, 업데이트 할 sudo는 냠 업데이트 명령을 사용해야 할 경우 선택 사항, 리눅스 .NET의 핵심 SDK를 설치해야합니다) 여부를 방출 시험

DOTNET / DefaultHttp.dll을 게시

도 표시 정상적인

(: / 루트 / 루트 / DefaultHttp /, 즉, 폴더 및 게시 동일한 수준의 경로), 및 파일에 다음 코드 5. Dockfile 파일을 만듭니다.

Mcr.microsoft.com/dotnet/core/aspnet:2.2에서 
WORKDIR이 / 앱 
5000에 노출 
정상적인 상황에서이 #이 열어야합니다 
(80)에 노출 
당신이 HTTPS를 사용하는 경우 #을, 포트 443를 엽니 다 기억하지만, 일반적으로하지 않습니다 
443 #EXPOSE 
 
/ / 앱 게시 COPY를 
[의 EntryPoint를 "DOTNET", "DefaultHttp.dll"]

지금까지 준비가 완료됩니다.

둘째, 미러를 생성

1. 전환합니다 / 루트 / 루트 / DefaultHttp /

CD 루트 / DefaultHttp /

2. 执行以下命令,使用Dockerfile创建镜像(镜像名称为:firsthttp/default)

docker build -t firsthttp/default .

3. 执行docker images 命令查看生成的镜像

 

三、运行容器

1. 执行以下命令,运行容器(linux虚拟机的8010端口映射docker容器的80端口)

docker run -d -p 8010:80 -p 5000:5000 --name first firsthttp/default

2. 查看运行中的容器

docker ps

3. 查看容器日志

docker logs -f ef5d4c3870f1

为什么需要这个步骤?

查看容器运行的日志信息,防止发生错误,也可以知道容器开放的端口(这里是80,映射到linux虚拟机是8010端口,映射到主机也是8010端口(第一步的准备工作中有))

4. 在linux虚拟机查看结果,执行以下命令

curl http://localhost:8010

5. 在主机访问

至此,部署完成。

四、删除容器和镜像

#删除容器
docker rm 容器ID
#删除镜像
docker rmi firsthttp/default

五、总结:

1. Docker容器对外发布的是80端口(需要使用docker logs命令查看)

2. 执行docker run 命令运行容器时,可以添加 -v 参数,映射指定的数据卷(这里是publish文件夹),下次更新程序时,会自动更新到docker,只需要重启docker即可(docker restart firsthttp/default)

 

추천

출처www.cnblogs.com/zhizihuakai/p/11293802.html