首頁 > 軟體

CentOS 7下使用Docker執行.Net Core

2020-06-16 16:34:40

試試在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      用於在映象容器中執行命令


IT145.com E-mail:sddin#qq.com