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 : 容器名称

以上是目前发布的过程,后续持续更新......

posted @ 2017-12-18 14:24  老板跑路了  阅读(2574)  评论(0编辑  收藏  举报