.NetCore中的程式通過Docker在CentOS中部署
阿新 • • 發佈:2018-11-13
基礎說明
安裝Docker過程就略過了
建立一個Asp.Net Core程式
啟用Docker支援,會生成Dockerfile檔案,接下來看下這個檔案,當然不同的版本生成的具體可能不一致
FROM microsoft/dotnet:2.1-aspnetcore-runtime WORKDIR /app COPY . . EXPOSE 80 ENTRYPOINT ["dotnet", "DockerTest.dll"]
具體內容含義這裡就介紹了,這裡需要說明下的就是如下:
先看下:FROM中的dotnet映象,在CentOS中pull拉取相關映象,檢視下映象
當然這裡Dockerfile中也可以用其他的映象
接下來就是遇到的一些問題,當我們把.NetCore釋出的程式包放到CentOS中,釋出時的時候注意要設定Dockerfile檔案的釋出屬性
這樣釋出才會把Dockerfile檔案打包到publish,當然你沒有設定也沒有太多關係,我們可以在CentOS中釋出的目錄中建立一個Dockerfile也是可以的
製作映象
進入釋出檔案目錄
cd publish
docker build -t liyouming .
我製作了一個liyouming的映象,下面通過
docker images
檢視下映象
執行到容器
通過下面的執行到容器中
docker run --name=liyouming_iamge1 -P -d liyouming
或
docker run --name=liyouming_iamge2 -p 33333:80 -d liyouming
-P:隨機分配埠,-p:指定對映的埠
--name:容器名稱 -d:依賴的映象名稱
兩個容器都執行成功了,接下來通過命令檢視下
docker ps
檢視在執行的容器
可以看到依賴Image映象名稱,埠情況,已經容器名稱
接下來通過這2個埠訪問下程式,當然你也可以通過curl ip:埠檢視
部署起來特別方便,短時間能部署很多,最後把這些常用命令總結下
docker build -t 映象名稱 . docker run --name=容器名稱 -p 33333:80 -d 映象名稱 docker images docker ps docker ps -a docker stop containerid或containername docker start containerid或containername docker restart containerid或containername docker rm containerid或containername docker rmi imageid或imagename