2021-05-12 14:32:11
CentOS 7下使用Docker執行.Net Core
試試在Linux(CentOS 7)下使用Docker執行.Net Core專案,那麼今天我們就一起看看如何在Linux下使用Docker執行.Net Core專案吧。
首先在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
sysytemctl 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 用於在映象容器中執行命令
相關文章