Docker部署.NET Core


一、安裝與配置Docker

1、首先安裝 Docker 必要依賴包 

yum install -y yum-utils device-mapper-persistent-data lvm2

2、由於自帶 yum 沒有 Docker-CE 所以我們需要先增加 docker repo

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

3、用 yum 安裝 Docker

yum install -y docker-ce

4、直接yum安裝,安裝成功后查看版本

docker -v

5、啟動docker

service docker start

6、設置開機啟動

chkconfig docker on

7、國內訪問 Docker Hub 較慢, 可以使用騰訊雲或阿里雲等其他提供的國內鏡像源, 加速訪問 Docker Hub,以下配置的是騰訊雲

echo "OPTIONS='--registry-mirror=https://mirror.ccs.tencentyun.com'" >> /etc/sysconfig/docker

8、重新加載服務配置

systemctl daemon-reload

9、重啟Docker

service docker restart

 二、新建.NET Core程序
1、新建項目

 2、在項目中新建Dockerfile 文件,內容如下 

FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base
WORKDIR /app
EXPOSE 5000  //端口號(將容器 5000 端口暴露出來, 允許外部連接這個端口。)
COPY . . //將當前目錄下的所有文件(除了.dockerignore排除的路徑),都拷貝進入 image 文件的/app目錄
ENTRYPOINT ["dotnet", "CoreTestWeb.dll"] //運行的程序集

三、讓程序在容器中跑起來

1、發布項目並上傳至服務

mkdir /usr/core 新建目錄,將發布文件上傳至本目錄

2、構建容器

進入發布目錄
cd /usr/core
構建鏡像 docker build -t aspnetapp . 生成容器實例 docker run -d --restart=always -p 5000:5000 --name myapp aspnetapp

如果出現:docker: Error response from daemon: cannot start a stopped process: unknown.錯誤,

 執行此命令:yum install -y libseccomp-devel 解決

並重新構建鏡像容器

docker stop myapp 停止實例
docker rm myapp 移除實例
docker rmi aspnetapp 移除鏡像
docker build -t aspnetapp . 構建鏡像 docker run -d --restart=always -p 5000:5000 --name myapp aspnetapp 生成實例

3、訪問站點

 docker 相關命令

#安裝 CentOS已經將Docker軟件包放在了Extras軟件源中,直接利用即可
yum install docker-io -y

#查看docker的版本 version
docker -v

#開啟Docker服務
systemctl start docker.service

#開機啟動Docker服務
systemctl enable docker.service

#查看Docker服務啟動狀態
systemctl status docker.service

#重啟Docker服務
systemctl restart docker.service

#查看所有鏡像
docker images

#刪除一個imageid的鏡像
docker rmi [IMAE_ID]

#刪除所有鏡像
sudo docker rmi $(docker images -q)


#查看所有容器運行狀態
docker ps -a
docker container ls -all

#刪除一個containerid的容器(實例)
docker rm 6f0c67de4b72

#刪除所有容器
docker rm $(sudo docker ps -a -q)

#查看指定時間后的日志,只顯示最后100行:
docker logs -f -t --since="2019-06-08" --tail=100 CONTAINER_ID

#查看某時間之后的日志:
docker logs -t --since="2019-06-08" CONTAINER_ID

#查看某時間段日志:
docker logs -t --since="2019-06-08" --until "2019-06-09" CONTAINER_ID

#查看最近30分鍾的日志:
docker logs --since 30m CONTAINER_ID

 


免責聲明!

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



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