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 : 容器名稱
以上是目前發布的過程,后續持續更新......