CentOS下搭建docker+.net core


1、什么是docker?

https://baike.baidu.com/item/Docker/13344470?fr=aladdin

http://www.docker.org.cn/(中文站) 

https://www.docker.com/(英文站)

docker鏡像站:https://hub.docker.com/

2、安裝系統

CentOS 7.0    容器:Docker 1.12.6          .Net Core版本: .NET Core 2.0

3、安裝過程

(1)安裝docker

yum install docker

(2)啟動docker

systemctl  start docker.service

(3)配置開機啟動

systemctl  enable docker.service

(4)查看docker版本信息

(5).net core 創建 Dockerfile 

(5)dockerfile

#基於 `microsoft/aspnetcore:2.0` 來構建我們的鏡像
FROM microsoft/aspnetcore:2.0

#拷貝項目publish文件夾中的所有文件到 docker容器中的publish文件夾中  
COPY . /publish

#設置工作目錄為 `/publish` 文件夾,即容器啟動默認的文件夾
WORKDIR /publish

#設置Docker容器對外暴露80端口
EXPOSE 80

#使用`dotnet DBEN.VICA.AlibabaWebAPI.dll`來運行應用程序

ENTRYPOINT ["dotnet", "DBEN.VICA.AlibabaWebAPI.dll"]

 

 (6)發布項目

 

 

(7)上傳CentOS  ../publish目錄里

(8)生成鏡像

docker build -t alibaba-vica-netcore .       (注意:最后空格后面有一個.)。

(9)查看生成的鏡像

因為,剛打包的鏡像alibaba-vica-netcore是基於docker.io/microsoft/aspnetcore鏡像的,所以在打包alibaba-vica-netcore的過程中,會優先從鏡像庫中拉取docker.io/microsoft/aspnetcore鏡像。

(10)運行docker容器

docker run --name alibabavica -d -p 27017:80  alibaba-vica-netcore

alibabavica 容器的名稱。

-d 后台進程。

-p是進行宿主和容器之間端口的映射,(-p 宿主端口:容器端口)

(11)檢驗docker容器是否運行成功

(12)因為運行docker容器的時候 進行了 端口映射  所以外部訪問端口 為 27017

(13)刪除鏡像

docker rmi c861a419888a(鏡像ID)

(14)刪除容器

docker rm xxxxxxxxx(容器id)

 

 

(15)創建容器

 docker commit -p xxxxxxxxxxx(容器id) name(快照名稱)

16)保存本地tar備份

 docker save -o ~/xxxxxxxx.tar name(容器名稱)

(17)Xftp5物理導出到本地

(18)恢復docker備份

(19)進入docker容器內部

docker exec -it 容器id /bin/bash

(20)退出容器

Ctrl+D 或者 exit

(21)查看docker 日志

docker logs -f -t --since="2017-05-31" --tail=10 alibaba-vica-netapi

docker logs 6dc1e5f74c0

 

--since : 此參數指定了輸出日志開始日期,即只輸出指定日期之后的日志。

-f : 查看實時日志

-t : 查看日志產生的日期

-tail=10 : 查看最后的10條日志。

alibaba-vica-netapi : 容器名稱

以上是目前發布的過程,后續持續更新......


免責聲明!

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



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