在Linux(Centos7)上使用Docker運行.NetCore


在上一篇中我們寫了如何在windows中使用docker運行.netcore,既然我們了解了windows下的運行發布,我們也可以試試linux下使用docker運行.netcore項目,那么今天我們就一起看看如何在linux下使用docker運行.netcore項目吧
 
首先在linux環境下安裝docker
1、卸載舊版本
sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
2、安裝依賴
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
3、添加儲存庫
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
4、安裝docker-ce
sudo yum -y install docker-ce
5、啟動docker
systemctl start docker
6、查看狀態
systemctl status docker
或者也可以使用
docker info
7、使用docker加速(沒有使用加速的話可能會出現等待超時的錯誤)(linux,windows,mac--https://www.daocloud.io/mirror)
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io
8、重啟docker
systemctl restart docker
 
使用Visual Studio創建一個.net core應用並且本地運行一下確保沒有問題
然后我們發布到文件夾Linux版本
 
在這里我們需要修改一下發布文件下的dockerfile文件,這里和windows上運行的文件內容可能會有點點差異,我們並不需要太多的點綴。
在我們發布文件中是沒有.csproj文件的並且發布之后文件路徑也是需要修改的,我這里稍微調整了一下我的dockerfile文件
# 拉取基礎鏡像
FROM microsoft/dotnet:2.2-aspnetcore-runtime
#容器中系統的工作空間
WORKDIR /app
#拷貝當前文件夾下的文件到容器中系統的工作空間
COPY . /app
 
#設置Docker容器端口
EXPOSE 5002
#使用ENTRYPOINT ["dotnet"," project.dll"]
ENTRYPOINT ["dotnet", "DockerTest.dll"]
並且上傳至服務器,然后我們在Linux服務器上進入剛創建的文件夾中
 
開始構建鏡像
dokcer build -t demo .
查看鏡像
docker images
運行容器
docker run --name=demo -p 5002:5002 -d demo
查看運行的容器
docker ps
如果沒有發現剛運行的容器可以查看運行日志
docker logs demo
解決完問題之后我們就可以在瀏覽器輸入ip+5002來檢查下我們是否運行成功
Dokcerfile文件下的常用指令詳解
FROM   文件中第一條非注釋INSTRUCTION一定是FROM,意思是以某一個鏡像為基礎,首先會檢查本地是否存在此鏡像,如果本地存在就不會從倉庫里面獲取
WORKDIR  指定工作目錄
EXPOSE     為構建的鏡像設置監聽端口
COPY    講源文件復制到目標文件中去
RUN       用於在鏡像容器中執行命令
 
 

  歡迎大家掃描下方二維碼,和我一起學習更多的知識😊

 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM